2014
11-07
11-07
PHP安全之隐藏PHP脚本扩展名
一般而言,通过隐藏的手段提高安全性被认为是作用不大的做法。但某些情况下,尽可能的多增加一份安全性都是值得的。一些简单的方法可以帮助隐藏PHP,这样做可以提高攻击者发现系统弱点的难度。在 php.ini 文件里设置expose_php=off,可以减少他们能获得的有用信息。另一个策略就是让web服务器用PHP解析不同扩展名。无论是通过 .htaccess 文件还是Apache的配置文件,都可以设置能误导攻击者的文件扩展名:Exampl...
继续阅读 >
PHP的 HTTP 认证机制仅在PHP以Apache模块方式运行时才有效,因此该功能不适用于CGI版本。在Apache模块的PHP脚本中,可以用 header() 函数来向客户端浏览器发送“AuthenticationRequired”信息,使其弹出一个用户名/密码输入窗口。当用户输入用户名和密码后,包含有URL的PHP脚本将会加上预定义变量PHP_AUTH_USER,PHP_AUTH_PW 和 AUTH_TYPE 被再次调用,这三个变量分别被设定...
只要在 php.ini 文件中激活了 allow_url_fopen 选项,就可以在大多数需要用文件名作为参数的函数中使用 HTTP 和 FTP 的URL来代替文件名。同时,也可以在 include、include_once、 require 及 require_once 语句中使用URL。PHP所支持协议的更多信息参见支持的协议和封装协议。注意:要在PHP4.0.3及其更早的版本中使用URL封装协议,需要在编译时...
传统上,像以前的php用到的引用计数内存机制,无法处理循环的引用内存泄漏。然而5.3.0PHP使用文章» 引用计数系统中的同步周期回收(ConcurrentCycleCollectioninReferenceCountedSystems)中的同步算法,来处理这个内存泄漏问题。对算法的完全说明有点超出这部分内容的范围,将只介绍其中基础部分。首先,我们先要建立一些基本规则,如果一个引用计数增加,它将继续被使用,当然就不再在垃圾中。如果引用计数减少...