|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
会PHP吗?会,我会把一加一的运算写在函数里,然后调用啦!
PHP作为Apache的模块运转时,Apache自己的平安起主导感化,因而假如设置装备摆设准确的话,PHP应当是一个非常平安的情况,然而假如PHP是以CGI体例来运转的话,就没有这么平安了。
本文中提到的操作,对Unix和Windows都合用。
1、作为Apache模块来运转
由于普通说来,Apache会以“nobody”或“www”来运转,所以,PHP作为模块是非常平安的。
假如PHP在虚拟主机情况下,能够会发生用户能阅读其他用户文件的风险。一个复杂的剧本以下:
// 假定文档根位于 /usr/local/websites/mydomain
$location = '../'; // 到上一级目次
$parent = dir($location);
// 显示以后目次: /usr/local/websites
while($entry = $parent->read()) {
echo $entry . '
';
}
$parent->close();
?>
如许,只需修正$location,用户就能够阅读虚拟主机上一切其他用户的文件了。为了削减如许的风险,咱们需求看一下php.ini ,修正个中的safe_mode, doc_root和usr_dir 参数,把用户限制在他本人的虚拟主机情况下:
safe_mode = On
doc_root = /usr/local/apache/htdocs
user_dir = /home/albertxu/htdocs
2、作为CGI
把PHP以CGI体例运转需求非常当心,能够会泄漏你不想让人晓得的信息。
第一件工作要注重的就是必定要把履行文件放到文档根目次之外的中央。例如/usr/local/bin,因而一切的CGI文件开首必需带有:
#!/usr/local/bin/php
避免用户直接挪用CGI的举措是在Apache中强制CGI重定向:
Action php-script /cgi-bin/php.cgi
AddHandler php-script .php
这会把上面的URL
http://example.com/mywebdir/test.htm
转换为:
http://example.com/cgi-bin/php/mywebdir/test.htm
在以CGI体例编译PHP时,最好采取上面的选项:
--enable-force-cgi-redirect
也许您在学习PHP的时候只想尽快的开发一个网站,也就会想我做网站,干嘛要学什么网页这些小儿科?不难看出,眼高手低的新手不在少数,这种思想无疑于建造空中楼阁,你不建地基,何来的房顶呢? |
|