名站导航为爱好php程序的朋友们提供php相关的教程知识。
PhP程序以Apache模块安装带来的安全问题
当 PhP程序 以 Apache 模块方式安装时,它将继承 Apache 用户(通常为“nobody”)的权限。站长地带提示您:这对安全和认证有一些影响。
比如,如果用 PhP程序 来访问数据库,除非数据库有自己的访问控制,否则就要使“nobody”用户可以访问数据库。这意味着恶意的脚本在不用提供用户名和密码时就可能访问和修改数据库。一个 web Spider 也完全有可能偶然发现数据库的管理页面,并且删除所有的数据库。可以通过 Apache 认证来避免此问题,或者用 LDAP、.htaccess 等技术来设计自己的防问模型,并把这些具体代码如下作为 PhP程序 脚本的一部份。
通常,一但安全性达到可以使 PhP程序 用户(这里也就是 Apache 用户)承担的风险极小的程度时候,可能 PhP程序 已经到了阻止向用户目录写入任何文件或禁止访问和修改数据库的地步了。这就是说,无论是正常的文件还是非正常的文件,无论是正常的数据库事务来是恶意的请求,都会被拒之门外。
一个常犯的对安全性不利的错误就是让 Apache 拥有 root 权限,或者通过其它途径斌予 Apache 更强大的功能。
爱程序网提示您:把 Apache 用户的权限提升为 root 的做法极度危险,而且可能会危及到整个系统的安全。所以除非是安全专家,否则决不要考虑使用 su,chroot 或者以 root 权限运行。
除此之外还有一些比较简单的解决方案。比如说可以使用 open_basedir 来限制哪些目录可以被 PhP程序 使用。也可以设置 Apache 的专属区域,从而把所有的 web 活动都限制到非用户和非系统文件之中。
好了关于php程序的知识就说到这里希望可以帮助需要的朋友。,IIS下详解配置PhP程序服务器