0x04:Posing Limit 限制PHP的执行时间、内存使用量、post和upload的数据是最好的策略,可以做如下的配置: 复制代码 代码如下: max_execution_time = 30 ; Max script execution time max_input_time = 60 ; Max time spent parsing input memory_limit = 16M ; Max memory used by one script upload_max_filesize = 2M ; Max upload file size post_max_size = 8M ; Max post size
0x05:禁用错误消息和启用日志功能 在默认设置中,php会向浏览器输出错误消息,在应用程序的开发过程中,这个默认设置是最合理的配置,然而,它也可以向用户泄漏一些安全信息,例如安装路径和用户名。在已经开发完成的网站中,最好禁用错误消息然后把错误消息输出到日志文件中。 复制代码 代码如下: display_errors = Off log_errors = On
0x06:隐藏PHP文件 如果没有隐藏PHP文件,我们可以通过多种方法获取服务器PHP的版本,例如使用:http://www.example.com/script.php?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000 显然,我们不希望用户可以直接获取你网站服务器的PHP版本,幸运的是,在php.ini中有个开关可以禁用这个功能: 复制代码 代码如下: expose_php = Off
0x07:安全模式配置 在默认的情况下,php可以配置为安全模式,在这种模式下,Apache禁止访问文件、环境变量和二进制程序,在安全模式下,存在的最大问题就是只有文件的所有者才能访问这写PHP文件,如果有很多开发者共同开发这个程序,这样的设置就不切实际,当你需要访问一个PHP文件时就需要修改这个文件的所有者,另外一个问题就是其它程序也不能访问这些PHP文件,下面的配置就可以修改文件的的权限为用户组而不是单个用户。 复制代码 代码如下: safe_mode = Off safe_mode_gid = On
0x08:限制公共用户对具有特定后缀名的文件的访问 由于安全的原因,很多具有特定后缀名的文件不能被公共用户所访问,比如.inc后缀的文件,里面包含了一些敏感的信息,比如mysql连接信息,如果没有适当的配置,那么每个用户都能访问这个配置文件,为了加强网站的安全,你需要在. .htaccess文件进行如下的配置: 复制代码 代码如下: <filesmatch> Order allow,deny Deny from all </filesmatch>