LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 697|回复: 1

PHP web hosting服务,但客户能用opendir(),file()等函数得知本人之PHP文件源代码,怎

[复制链接]
发表于 2003-9-11 10:08:52 | 显示全部楼层 |阅读模式
各位大侠:

在下是作web hosting服务,即给别人到我的网站中申请网页空间。
但客户却能用opendir(),file()等函数得知本人之PHP文件源代码。

现在下举一例子。
例如一客户名叫abc, 其web file目录为:/home/abc/public_html
现客户将一文件(假设此文件为abc.php)上传到web file目录.

abc.php的文件内容如下:
<?
        $filename = "/usr/local/www/password.php"; //此为在下密码文件名所在
        $lines = file($filename);
        foreach ($lines as $line)
        {
          echo $line."<br>";
        }
?>
//-------------------

这样客户便能用http://mywebsite.com/~abc/abc.php
看到在下的/usr/local/www/password.php密码文件之内容。

在下之此密码文件是有必要的,因为此密码文件是被include到申请文件中,用来check mysql数据库得知申请客户名是否有重复,及将密码文件include到login文件中,在用户login到自己account时,看看用户login username及password是否正确等等。

客户能先用opendir(),file()等手段查看本人申请文件之内容得知全部include文件之路径(包括密码文件之路径)。然后上传如abc.php之类的文件看得本人之password.php密码文件的内容。此为相当有危险。

请问怎么办才好呢?

谢谢您的回复!
my email: willylucky@yahoo.com
发表于 2003-9-11 15:23:09 | 显示全部楼层
你的PHP.INI里可以设置一下,safe_mode=on,safe_mode_include_dir=你给用户规定的可以INCLUDE的文件夹.

另外,你的用户数据可以存储在数据库里,这样比较安全也比较方便管理
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表