限制PHP进程访问/var/www/html/等专门指定的目录外面的文件
; Limits the PHP process from accessing files outside; of specifically designated directories suchas/var/www/html/open_basedir="/var/www/html/"; ------------------------------------; Multipledirsexample; open_basedir="/home/httpd/vhost/cyberciti.biz/html/:/home/httpd/vhost/nixcraft.com/html/:/home/httpd/vhost/theos.in/html/"; ------------------------------------
第16个设置项:会话路径
PHP中的会话支持包括在随后的访问中保留某些数据的一种方法。这让你能够开发更加定制的应用程序,并加大网站的吸引力。该路径在/etc/php.ini文件中定义,与某一个会话有关的所有数据都将存放在session.save_path选项指定的目录下的文件中。在RHEL/CentOS/Fedora Linux下,默认路径如下:
session.save_path="/var/lib/php/session"
设置用于上传文件时存储文件的临时目录
upload_tmp_dir="/var/lib/php/session"
确保路径是outside /var/www/html,而且无法被其他任何系统用户读取或写入:
#ls-Z /var/lib/php/
示例输出:
drwxrwx---. root apache system_u:object_r:httpd_var_run_t:s0 session
注意:ls命令的-Z选项显示了SELinux 安全上下文,比如文件模块、用户、用户组、安全上下文和文件名称。
第17个设置项:保持PHP、软件和操作系统版本最新
打安全补丁是维护Linux、Apache、PHP和MySQL服务器的一个重要环节。应该使用以下其中任何一个工具(如果你通过软件包管理器来安装PHP),尽快检查所有的PHP安全更新版本,并尽快打上:
#yumupdate
或
#apt-getupdate && apt-get upgrade
你可以配置红帽/CentOS/Fedora Linux,以便通过电子邮件发送yum软件包更新通知。另一个选项是通过cron job(计划任务)打上所有的安全更新版。在Debian/Ubuntu Linux下,可以使用apticron来发送安全通知。
注意:经常访问php.net(http://php.net/),寻找源代码安装的最新版本。
第18个设置项:限制文件和目录访问
确保你以Apache或www等非根用户的身份来运行Apache。所有文件和目录都应该归非根用户(或apache用户)所有,放在/var/www/html下:
#chown-R apache:apache /var/www/html/
/var/www/html/是个子目录,这是其他用户可以修改的文件根目录,因为根目录从来不在那里执行任何文件,也不会在那里创建文件。
确保在/var/www/html/下,文件权限设成了0444(只读):
#chmod-R 0444 /var/www/html/
内容版权声明:除非注明,否则皆为本站原创文章。