日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

php disable classes,PHP安全配置基础教程(3)

發(fā)布時間:2025/3/21 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php disable classes,PHP安全配置基础教程(3) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

解決方法:

要求程序員對所有用戶提交的要放到SQL語句的變量進行過濾。

即使是數(shù)字類型的字段,變量也要用單引號擴起來,MySQL自己會把字串處理成數(shù)字。

在MySQL里不要給PHP程序高級別權(quán)限的用戶,只允許對自己的庫進行操作,這也避免了程序出現(xiàn)問題被 select INTO OUTFILE … 這種攻擊。

8、警告及錯誤信息

PHP默認顯示所有的警告及錯誤信息:

error_reporting = E_ALL & ~E_NOTICE

display_errors = On

在平時開發(fā)調(diào)試時這非常有用,可以根據(jù)警告信息馬上找到程序錯誤所在。

正式應(yīng)用時,警告及錯誤信息讓用戶不知所措,而且給攻擊者泄漏了腳本所在的物理路徑,為攻擊者的進一步攻擊提供了有利的信息。而且由于自己沒有訪問到錯誤的地方,反而不能及時修改程序的錯誤。所以把PHP的所有警告及錯誤信息記錄到一個日志文件是非常明智的,即不給攻擊者泄漏物理路徑,又能讓自己知道程序錯誤所在。

修改php.ini中關(guān)于Error handling and logging部分內(nèi)容:

error_reporting = E_ALL

display_errors = Off

log_errors = On

error_log = /usr/local/apache/logs/php_error.log

然后重啟apache,注意文件/usr/local/apache/logs/php_error.log必需可以讓nobody用戶可寫。

9、disable_functions

如果覺得有些函數(shù)還有威脅,可以設(shè)置php.ini里的disable_functions(這個選項不能在httpd.conf里設(shè)置),比如:

disable_functions = phpinfo, get_cfg_var

可以指定多個函數(shù),用逗號分開。重啟apache后,phpinfo, get_cfg_var函數(shù)都被禁止了。建議關(guān)閉函數(shù)phpinfo, get_cfg_var,這兩個函數(shù)容易泄漏服務(wù)器信息,而且沒有實際用處。

10、disable_classes

這個選項是從PHP-4.3.2開始才有的,它可以禁用某些類,如果有多個用逗號分隔類名。disable_classes也不能在httpd.conf里設(shè)置,只能在php.ini配置文件里修改。

11、open_basedir

前面分析例程的時候也多次提到用open_basedir對腳本操作路徑進行限制,這里再介紹一下它的特性。用open_basedir指定的限制實際上是前綴,不是目錄名。也就是說 “open_basedir = /dir/incl” 也會允許訪問 “/dir/include” 和 “/dir/incls”,如果它們存在的話。如果要將訪問限制在僅為指定的目錄,用斜線結(jié)束路徑名。例如:”open_basedir = /dir/incl/”。

可以設(shè)置多個目錄,在Windows中,用分號分隔目錄。在任何其它系統(tǒng)中用冒號分隔目錄。作為Apache模塊時,父目錄中的open_basedir路徑自動被繼承。

四、其它安全配置

1、取消其它用戶對常用、重要系統(tǒng)命令的讀寫執(zhí)行權(quán)限

一般管理員維護只需一個普通用戶和管理用戶,除了這兩個用戶,給其它用戶能夠執(zhí)行和訪問的東西應(yīng)該越少越好,所以取消其它用戶對常用、重要系統(tǒng)命令的讀寫執(zhí)行權(quán)限能在程序或者服務(wù)出現(xiàn)漏洞的時候給攻擊者帶來很大的迷惑。記住一定要連讀的權(quán)限也去掉,否則在linux下可以用/lib/ld- linux.so.2 /bin/ls這種方式來執(zhí)行。

如果要取消某程如果是在chroot環(huán)境里,這個工作比較容易實現(xiàn),否則,這項工作還是有些挑戰(zhàn)的。因為取消一些程序的執(zhí)行權(quán)限會導(dǎo)致一些服務(wù)運行不正常。PHP的mail函數(shù)需要/bin/sh去調(diào)用sendmail發(fā)信,所以/bin/bash的執(zhí)行權(quán)限不能去掉。這是一項比較累人的工作,

2、去掉apache日志其它用戶的讀權(quán)限

apache的access-log給一些出現(xiàn)本地包含漏洞的程序提供了方便之門。通過提交包含PHP代碼的URL,可以使access-log包含PHP代碼,那么把包含文件指向access-log就可以執(zhí)行那些PHP代碼,從而獲得本地訪問權(quán)限。

如果有其它虛擬主機,也應(yīng)該相應(yīng)去掉該日志文件其它用戶的讀權(quán)限。

當然,如果你按照前面介紹的配置PHP那么一般已經(jīng)是無法讀取日志文件了。

總結(jié)

以上是生活随笔為你收集整理的php disable classes,PHP安全配置基础教程(3)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。