国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 網(wǎng)站 > 幫助中心 > 正文

PHP安全性漫談

2024-07-09 22:40:06
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
本文所討論的安全性環(huán)境是在Linux+Apache+Mysql+PHP。超出此范圍的安全性問(wèn)題不在本文范疇之內(nèi) 一、apache server安全性設(shè)置

1、以Nobody用戶運(yùn)行

一般情況下,Apache是由Root 來(lái)安裝和運(yùn)行的。如果Apache Server進(jìn)程具有Root用戶特權(quán),那么它將給系統(tǒng)的安全構(gòu)成很大的威脅,應(yīng)確保Apache Server進(jìn)程以最可能低的權(quán)限用戶來(lái)運(yùn)行。通過(guò)修改httpd.conf文件中的下列選項(xiàng),以Nobody用戶運(yùn)行Apache 達(dá)到相對(duì)安全的目的。
User nobody
Group# -1

2、ServerRoot目錄的權(quán)限

為了確保所有的配置是適當(dāng)?shù)暮桶踩模枰獓?yán)格控制Apache 主目錄的訪問(wèn)權(quán)限,使非超級(jí)用戶不能修改該目錄中的內(nèi)容。Apache 的主目錄對(duì)應(yīng)于Apache Server配置文件httpd.conf的Server Root控制項(xiàng)中,應(yīng)為:
Server Root /usr/local/apache

3、SSI的配置

在配置文件access.conf 或httpd.conf中的確Options指令處加入Includes NO EXEC選項(xiàng),用以禁用Apache Server 中的執(zhí)行功能。避免用戶直接執(zhí)行Apache 服務(wù)器中的執(zhí)行程序,而造成服務(wù)器系統(tǒng)的公開(kāi)化。

Options Includes Noexec


4、阻止用戶修改系統(tǒng)設(shè)置

在Apache 服務(wù)器的配置文件中進(jìn)行以下的設(shè)置,阻止用戶建立、修改 .htaccess文件,防止用戶超越能定義的系統(tǒng)安全特性。

AllowOveride None
Options None
Allow from all

然后再分別對(duì)特定的目錄進(jìn)行適當(dāng)?shù)呐渲谩?

5、改變Apache 服務(wù)器的缺省訪問(wèn)特性

Apache 的默認(rèn)設(shè)置只能保障一定程度的安全,如果服務(wù)器能夠通過(guò)正常的映射規(guī)則找到文件,那么客戶端便會(huì)獲取該文件,如http://local host/~ root/ 將允許用戶訪問(wèn)整個(gè)文件系統(tǒng)。在服務(wù)器文件中加入如下內(nèi)容:

order deny,ellow
Deny from all

將禁止對(duì)文件系統(tǒng)的缺省訪問(wèn)。

6、CGI腳本的安全考慮

CGI腳本是一系列可以通過(guò)Web服務(wù)器來(lái)運(yùn)行的程序。為了保證系統(tǒng)的安全性,應(yīng)確保CGI的作者是可信的。對(duì)CGI而言,最好將其限制在一個(gè)特定的目 錄下,如cgi-bin之下,便于管理;另外應(yīng)該保證CGI目錄下的文件是不可寫的,避免一些欺騙性的程序駐留或混跡其中;如果能夠給用戶提供一個(gè)安全性 良好的CGI程序的模塊作為參考,也許會(huì)減少許多不必要的麻煩和安全隱患;除去CGI目錄下的所有非業(yè)務(wù)應(yīng)用的腳本,以防異常的信息泄漏。

7、SSL鏈接加密

以上這些常用的舉措可以給Apache Server 一個(gè)基本的安全運(yùn)行環(huán)境,顯然在具體實(shí)施上還要做進(jìn)一步的細(xì)化分解,制定出符合實(shí)際應(yīng)用的安全配置方案。

二、PHP安全性設(shè)置

服務(wù)器并不能阻止所有的安全問(wèn)題,例如程序漏洞問(wèn)題、用戶輸入表單問(wèn)題、PHP文件權(quán)限問(wèn)題等。
也可以通過(guò)一些手段來(lái)迷惑黑客或者別有用心者。
1、程序代碼漏洞問(wèn)題

很多 PHP 程序所存在的重大弱點(diǎn)并不是 PHP 語(yǔ)言本身的問(wèn)題,而是編程者的安全意識(shí)不高而導(dǎo)致的。因此,必須時(shí)時(shí)注意每一段代碼可能存在的問(wèn)題,去發(fā)現(xiàn)非正確數(shù)據(jù)提交時(shí)可能造成的影響。
復(fù)制代碼 代碼如下:
<?php
unlink ($evil_var);
fwrite ($fp, $evil_var);
system ($evil_var);
exec ($evil_var);
?>

必須時(shí)常留意你的代碼,以確保每一個(gè)從客戶端提交的變量都經(jīng)過(guò)適當(dāng)?shù)臋z查,然后問(wèn)自己以下一些問(wèn)題:

此腳本是否只能影響所預(yù)期的文件?
非正常的數(shù)據(jù)被提交后能否產(chǎn)生作用?
此腳本能用于計(jì)劃外的用途嗎?
此腳本能否和其它腳本結(jié)合起來(lái)做壞事?
是否所有的事務(wù)都被充分記錄了?
在寫代碼的時(shí)候問(wèn)自己這些問(wèn)題,否則以后可能要為了增加安全性而重寫代碼了。注意了這些問(wèn)題的話,也許還不完全能保證系統(tǒng)的安全,但是至少可以提高安全性。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 新源县| 泊头市| 盐山县| 武陟县| 久治县| 当阳市| 德兴市| 昭觉县| 伊宁市| 苗栗县| 崇信县| 桐城市| 肥东县| 井陉县| 乐东| 绥阳县| 汝城县| 淮北市| 洛宁县| 合水县| 长兴县| 郁南县| 四平市| 滕州市| 广南县| 浪卡子县| 龙口市| 分宜县| 屏南县| 玉山县| 曲沃县| 福海县| 来凤县| 淮安市| 松桃| 舒兰市| 佳木斯市| 安乡县| 龙岩市| 开化县| 盘山县|