|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
把例子全部敲进去试验,完成一遍以后就会有心得了,因为你会发现为啥我的程序和书上的一模一样就是结果不正确。新手学习的时候必须承认,不容易,因为我也是过来人,你会发现原来有那么多常用的语句,函数都要记。 作者:Albert
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的平安成绩,具体的平安信息可以参考PHP老家上手册中关于平安的
http://www.php.net/manual/en/security.php
那一章。
PHP成功的插入,删除,更新数据的时候,显然,你已经距离成功指日可待了。 |
|