新聞中心
php 純數(shù)字url參數(shù)安全過濾代碼
標(biāo)準(zhǔn)答案我就不知道了,只是我個人的理解大概是這個方面要注意:
創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)與策劃設(shè)計,清流網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:清流等地區(qū)。清流做網(wǎng)站價格咨詢:18982081108
1 [POST/GET]頁面參數(shù)傳值/字符串輸入/數(shù)據(jù)入庫等類似動作都要做好嚴(yán)格的危險字符過濾處理.
2 相關(guān)PHP的I/O操作,需要注意限制權(quán)限,文件名或目錄名或內(nèi)容都要做好過濾處理.
3 敏感信息(如PASSWORD/銀行帳號等)不要依賴COOKIE,SESSION,最好讀表,并盡量緩存讀表數(shù)據(jù).
4 注意對網(wǎng)站根目錄及下面所有子目錄及文件的權(quán)限控制與保護(hù),不要讓配置文件/系統(tǒng)信息等文件暴露.
5 要完全屏掉所有出錯提示,或者能捕獲所有出錯并重新定制輸出,以防報錯信息泄露你的網(wǎng)站及相關(guān)文件路徑,MYSQL字段/網(wǎng)站環(huán)境等.
6 所有對庫表的寫入與讀取操作都需要做好訪問來路限制/同IP同內(nèi)容讀寫間隔限制/并驗(yàn)證POST與GET的指定標(biāo)識KEY的有效性等這些安全動作.
7 有類似文件下載/或文本流下載等功能的,盡量不要在URL里面直接調(diào)用目標(biāo)文件地址的方式來做,最好是傳ID或是指定的NAME標(biāo)識.
8 MYSQL 的用戶最好分開,不要用ROOT用戶來連接MYSQL,另建專用用戶,并限制死此用戶的權(quán)限,只能操作指定的庫,最好去掉此用戶的命令行導(dǎo)入導(dǎo)出的權(quán)限等這些危險的權(quán)限.
php中如何過濾用戶的輸入麻煩告訴我
可以采用以下幾點(diǎn)措施。
(1)在用戶數(shù)據(jù)進(jìn)入數(shù)據(jù)庫之前使用addslashes()函數(shù)過濾,可以進(jìn)行一些字符的轉(zhuǎn)義,并過濾掉可能引起數(shù)據(jù)庫問題的字符??梢允褂胹tripslashes()將數(shù)據(jù)返回到原始形式。
(2)在php.infi中開啟magic_quotes_gpc和magic_quotes_runtime指令。它們可以自動的添加和過濾斜杠,前者主要用于格式化GET,POST,和cookie變量,后者用于過濾進(jìn)出數(shù)據(jù)庫的數(shù)據(jù)。
(3)當(dāng)在system()或者exex()函數(shù)中使用用戶輸入數(shù)據(jù)作為參數(shù)時,必須使用escapeshellcmd()。用來避免懷有惡意的用戶強(qiáng)迫系統(tǒng)運(yùn)行某些命令。
(4)可以使用stip_tags()從一個字符串中去掉HTML和PHP標(biāo)記,這樣可以避免用戶將惡意節(jié)本植入到用戶的數(shù)據(jù)中。
(5)可以使用htmlspecialchars(),可以將字符專程它們的HTML等價實(shí)體。例如,將被轉(zhuǎn)換成lt; ,該函數(shù)可以將任何腳本轉(zhuǎn)換成無害的字符。
總之,在使用用戶的數(shù)據(jù)時,一定要小心,原則即是不要相信用戶輸入的任何數(shù)據(jù),必須要進(jìn)行過濾和轉(zhuǎn)換。
請問PHP怎么過濾GET或者POST的參數(shù)?防止js注入,或者一些html注入?請請?zhí)峁┐a參考?謝謝!
string mysql_real_escape_string ( string unescaped_string [, resource link_identifier])
本函數(shù)將 unescaped_string 中的特殊字符轉(zhuǎn)義,并計及連接的當(dāng)前字符集,因此可以安全用于 mysql_query()。
注: mysql_real_escape_string() 并不轉(zhuǎn)義 % 和 _。
例子 1. mysql_real_escape_string() 例子
?php
$item = "Zak's and Derick's Laptop";
$escaped_item = mysql_real_escape_string($item);
printf ("Escaped string: %s\n", $escaped_item);
?
以上例子將產(chǎn)生如下輸出:
Escaped string: Zak\'s and Derick\'s Laptop
PHP怎么過濾GET或者POST的參數(shù)?怎么樣才能保證代碼不被注入?
if (!get_magic_quotes_gpc())//如不美觀沒有開啟的話{ /****需要對這幾個數(shù)組,遍歷,注重數(shù)組多維的情形,addslashes($str)就可以 $_GET $_POST $_COOKIE $_REQUEST ****/}
網(wǎng)頁標(biāo)題:php數(shù)據(jù)過濾器參數(shù) php filter函數(shù)
轉(zhuǎn)載來于:http://ef60e0e.cn/article/hpdpee.html