欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

php語言網站如何加強安全性?

劉柏宏2年前14瀏覽0評論

PHP是一種非常流行之網站腳本語言,但是它本身所固有之安全性是非常薄弱。本文講述了PHP增強計劃(Hardened-PHPproject)和新之Suhosi計劃,Suhosin提供了增強之PHP之安全配置。

PHP是帶有爭論地但又是最流行之一種網站腳本語言。它之所以流行,是因為它低廉之價格,然而,這低廉之價格導致用PHP寫之網站應用程序越來越多之同時也越來越多之展現出PHP本身在安全上之脆弱,這種安全特性顯示出PHP是極不可靠,不過同時對這個腳本語言本身而言它又是非常靈活之,使用它就能很容易之實現代碼,不過這些代碼都是臃腫之且不安全之,雖然是這樣它還是一直都擁有很多之使用者。你可以根據實際情況來假設,一次又一次,各種應用軟件都體現了這種脆弱性:容易受到SQL注入、跨站腳本、任意執行指令等等之攻擊。

因為象safe_mode和open_basedir這樣內置之PHP安全措施將被忽略,PHP增強計劃創建之PHP更具有安全性,同時也對PHP進行校驗檢查。最初,這些是由增強之PHP補丁完成之,這些補丁需要修補并重新編譯PHP自身。最近,PHP增強計劃發布了一個名為Suhosin之新工程。

Sohosin包括有兩部分:第一部分是PHP之補丁,這個補丁強化了Zend引擎自身,以免可能產生緩沖溢出,也可以防止相關之弱點。第二部分是Suhosin之擴展,這是一個PHP之獨立使用模塊。這兩部分可以一起工作,或者是擴展部分單獨工作。

開發人員不希望為了達到安全性而總去維護他們自己之PHP安裝設置和他們當然更喜歡直接使用銷售商提供之Linux分布系統上PHP,使用擴展模塊能提供更多PHP本身所不能具有之安全特點。

擴展模塊很容易安裝;它也能通過PECL安裝,或者是下載后通過編譯安裝:

$tarxvzfsuhosin-0.9.17

$cdsuhosin-0.9.17

$phpize

$./configure

$make

$sudomakeinstall

為了使用suhosin,還需要增加/etc/php.ini,如下所示:

extension=suhosin.so

對于大部分人來說默認之配置選項已經足夠了。為了加強設置,可以在/etc/php.ini中增加相應之值。網站中詳細地介紹了有關之各種配置選項,這些說明可以幫助你進行初始化配置。

使用Suhosin,你可以得到一些錯誤日志,你能把這些日志放到系統日志中,也可以同時寫到其他任意之日志文件中去;它還可以為每一個虛擬主機創建黑名單和白名單;可以過濾GET和POST請求、文件上載和cookie。你還能傳送加密之會話和cookie,可以設置不能傳送之存儲上線等等。它不像原始之PHP強化補丁,Suhosin是可以被像ZendOptimizer這樣之第三方擴展軟件所兼容之。

下面是我寫的一個操作方法:

wget-chttp://soft.vpser.net/web/suhosin/suhosin-patch-5.2.10-0.9.7.patch.gz

gzip-d./suhosin-patch-5.2.10-0.9.7.patch.gz

cdphp-5.2.10

patch-p1-i../suhosin-patch-5.2.10-0.9.7.patch

編譯的時候

./configure--prefix=/usr/local/php--with-config-file-path=/usr/local/php/etc--with-mysql=/usr/local/mysql--with-mysqli=/usr/local/mysql/bin/mysql_config--with-iconv-dir--with-freetype-dir--with-jpeg-dir--with-png-dir--with-zlib--with-libxml-dir=/usr--enable-xml--enable-discard-path--enable-magic-quotes--enable-safe-mode--enable-bcmath--enable-shmop--enable-sysvsem--enable-inline-optimization--with-curl--with-curlwrappers--enable-mbregex--enable-fastcgi--enable-fpm--enable-force-cgi-redirect--enable-mbstring--with-mcrypt--enable-ftp--with-gd--enable-gd-native-ttf--with-openssl--with-mhash--enable-pcntl--enable-sockets--with-xmlrpc--enable-zip--enable-soap--without-pear--with-gettext--with-mime-magic--enable-suhosin

把suhosin編譯進去就好了