php 初始化漏洞,这样做是不是不会引起PHP全局变量未初始化漏洞
業(yè)余自學的PHP,想給自己寫一個博客。
目前的思路是為每個可在前臺顯示的文件都要包含global.php文件
global.php文件define(GLOBAL_PHP,true)
每個不能顯示的文件(例如include目錄下或者func.php或者其他inc之類的文件)
就不會有GLOBAL_PHP的定義。
沒有定義這個的,直接就顯示forbidden.php頁面了。
是否如圖所示,不使用 _GET 就不會引起變量初始化漏洞 還是什么其他的原因?
根據(jù)圖中推測。應該是不使用就不會引起。不過不太確定,故而來尋求指點
樓下兩位。。
一個只說版本,能不能說得具體一點。。
另一位。。我問的是能不能引起漏洞,不是防止被訪問。。畢竟也有別的例如admin.php之類的放在根目錄下,不應該放在根目錄下的我不會放的。。
回復內(nèi)容:
業(yè)余自學的PHP,想給自己寫一個博客。
目前的思路是為每個可在前臺顯示的文件都要包含global.php文件
global.php文件define(GLOBAL_PHP,true)
每個不能顯示的文件(例如include目錄下或者func.php或者其他inc之類的文件)
就不會有GLOBAL_PHP的定義。
沒有定義這個的,直接就顯示forbidden.php頁面了。
是否如圖所示,不使用 _GET 就不會引起變量初始化漏洞 還是什么其他的原因?
根據(jù)圖中推測。應該是不使用就不會引起。不過不太確定,故而來尋求指點
樓下兩位。。
一個只說版本,能不能說得具體一點。。
另一位。。我問的是能不能引起漏洞,不是防止被訪問。。畢竟也有別的例如admin.php之類的放在根目錄下,不應該放在根目錄下的我不會放的。。
這個問題我自己回答吧。
參考資料1:
PHP Security Guide 的地址:
http://phpsec.org/projects/guide/1.html
一本有關PHP安全的書。
參考資料2:
http://php.net/manual/en/security.globals.php
PHP4.2發(fā)行公告
這種說法:
Perhaps the most controversial change in PHP is when the default value for the PHP directive register_globals went from ON to OFF in PHP ? 4.2.0. Reliance on this directive was quite common and many people didn't even know it existed and assumed it's just how PHP works. This page will explain how one can write insecure code with this directive but keep in mind that the directive itself isn't insecure but rather it's the misuse of it.
也就是說,PHP4.1及之前的版本默認安裝的PHP,
如果沒定義變量的話,他就會給你相當于使用 _GET[“variable”] 這個方式來獲取變量的值。
一個例子說明:
《?php
global $user ;
if $user == "admin"{
admin();
}
else{
user();
}
?》
也就是說你訪問這個頁面只要 test.php&user=admin 就會直接有管理的權限。
要是避免這個漏洞的話的話需要修改php的配置文件register_globals改為OFF。
PHP4.2及以后的版本就不會。
可以grep -r register_globals /etc/php*
看版本。5.5的路過……
防止php文件被訪問的方法應該是document root下只放index.php作為單入口,其他php文件不要放在document root下
總結(jié)
以上是生活随笔為你收集整理的php 初始化漏洞,这样做是不是不会引起PHP全局变量未初始化漏洞的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 无限魔力鸟辅助免root怎么用(沃尔伯格
- 下一篇: 数据压缩是什么(什么是数据挖掘)