1、php一些安全配置
(1)关闭php提示错误功能
在php.ini 中把display_errors改成
- display_errors = OFF
或在php文件前加入
- error_reporting(0)
-
1)使用error_reporting(0);失败的例子:
A文件代码:
- <?
- error_reporting(0);
- echo 555
- echo 444;
- ?>
错误:
Parse error: parse error, expecting `','' or `';'' in E:\webphp\2.php on line 4
2)使用error_reporting(0);成功的例子:
a文件代码:
- <?php
- error_reporting(0);
- include("b.php");
- ?>
b文件代码:
- <?php
- echo 555
- echo 444;
- ?>
这是很多phper说用error_reporting(0)不起作用。第一个例子A.php里面有致命错误,导致不能执行,不能执行服务器则不知有这个功能,所以一样报错。
第二个例子中a.php成功执行,那么服务器知道有抑制错误功能,所以就算b.php有错误也抑制了。
ps:抑制不了mysql错误。
(2)关闭一些“坏功能”
1)关闭magic quotes功能
在php.ini 把magic_quotes_gpc = OFF
避免和addslashes等重复转义2)关闭register_globals = Off
在php.ini 把register_globals = OFF
在register_globals = ON的情况下
地址栏目:http:www.phpben.com?bloger=benwin
- <?php
- //$bloger = $_GET['bloger'] //因为register_globals = ON 所以这步不用了直接可以用$bloger
- echo $bloger;
- ?>
这种情况下会导致一些未初始化的变量很容易被修改,这也许是致命的。所以把register_globals = OFF关掉
(3)严格配置文件权限。
为相应文件夹分配权限,比如包含上传图片的文件不能有执行权限,只能读取