php.ini文件的修改 1、查找:extension_dir = "./"改为:extension_dir = "D:\ServerRoot\PHP\ext\" 2、找到"safe_mode=off"改为"safe_mode=on" 象一些能执行系统命令的函数shell_exec()和``被禁止,其它的一些执行函数如:exec(), system(), passthru(),popen()将被限制只能执行safe_mode_exec_dir指定目录下的程序。飞飞Asp!技术乐园如果你实在是要执行一些命令或程序,找到以下: safe_mode_exec_dir = 指定要执行的程序的路径,如: safe_mode_exec_dir = D:\ServerRoot\PHP 然后把要用的程序拷到D:\ServerRoot\PHP\目录下,这样,象上面的被限制的函数还能执行该目录里的程序 3、找到"display_errors=on"改为"display_errors=off" 一般php在没有连接到数据库或者其他情况下会有提示错误,一般错误信息中会包含php脚本当前的路径信息或者查询的SQL语句等信息,这类信息提供给黑客后,是不安全的,所以一般服务器建议禁止错误提示 。 display_errors = Off log_errors = On 同时也要设置错误日志存放的目录 找到下面这行 ;error_log = filename 去掉前面的;注释,把filename改为指定文件 error_log = D:/usr/php_error.log 4、找到"disable_functions="改为:"disable_functions=phpinfo,system,exec,passthru,shell_exec,popen,is_dir". 我们觉得不希望执行包括system()等在内的能够执行命令的php函数,或者能够查看php信息的phpinfo()等函数,那么我们就可以禁止它们: 5、查找:magic_quotes_gpc 如果是Off的话改成On 打开magic_quotes_gpc来防止SQL注入。 6、查找:register_globals (register_globals = Off 修改成register_globals = On) 在PHP中提交的变量,包括使用POST或者GET提交的变量,都将自动注册为全局变量,能够直接访问,这是对服务器非常不安全的,所以我们不能让它注册为全局变量,就把注册全局变量选项关闭: 7、查找:open_basedir 后面增加 /www/ /*说明:www为网站程序所放文件*/ 这个选项可以禁止指定目录之外的文件操作,还能有效地消除本地文件或者是远程文件被include()等函数的调用攻击。飞飞Asp.技术乐园 8、expose_php设为off ,这样php不会在http文件头中泄露信息。 我们为了防止黑客获取服务器中php版本的信息,可以关闭该信息斜路在http头中 。 9、设置“allow_url_fopen”为“off” 这个选项可以禁止远程文件功能 。 10、查找字符串“; windows Extensions”,将下列各行行首的分号(;)去掉,根据你网站的需要你可以打开更多 ;extension=php_dbase.dll 可选 ;extension=php_mcrypt.dll ;extension=php_gd2.dll 此项用以支持GD库的,一般需要,必选 ;extension=php_ldap.dll 可选 ;extension=php_mbstring.dll 此项不选则使用PHPMyAdmin会提示错误,必选 ;extension=php_mssql.dll 此项用以支持MSSQL数据库,可选 ;extension=php_mysql.dll 此项用以支持MySQL数据库,必选 11、将php目录和ext目录下的相关dll复制到C:\windows\system32,(包括:php_mbstring.dll、php_mcrypt.dll、php_gd2.dll、php_dbase.dll、php_mysqli.dll、php_mysql.dll、libmysql.dll等)如果你不太要哪些明白,最简单的办法就是全部复制。
12、修改 short_open_tag = Off 为 short_open_tag = On PHP开启短标记支持
|