本文目錄一覽:
- 1、PHP的網站主要攻擊方式有哪些
- 2、如何修復PHP跨站腳本攻擊漏洞
- 3、PHP網站要防哪幾種常見方式攻擊?
- 4、php防止sql注入以及xss跨站腳本攻擊
- 5、如何實現php的安全最大化?怎樣避免sql注入漏洞和xss跨站腳本攻擊漏洞
PHP的網站主要攻擊方式有哪些
1、命令注入(Command Injection)
2、eval注入(Eval Injection)
3、客戶端腳本攻擊(Script Insertion)
4、跨網站腳本攻擊(Cross Site Scripting, XSS)
5、SQL注入攻擊(SQL injection)
6、跨網站請求偽造攻擊(Cross Site Request Forgeries, CSRF)
7、Session 會話劫持(Session Hijacking)
8、Session 固定攻擊(Session Fixation)
9、HTTP響應拆分攻擊(HTTP Response Splitting)
10、文件上傳漏洞(File Upload Attack)
11、目錄穿越漏洞(Directory Traversal)
12、遠程文件包含攻擊(Remote Inclusion)
13、動態函數注入攻擊(Dynamic Variable Evaluation)
14、URL攻擊(URL attack)
15、表單提交欺騙攻擊(Spoofed Form Submissions)
16、HTTP請求欺騙攻擊(Spoofed HTTP Requests)
如何修復PHP跨站腳本攻擊漏洞
你這截圖上不是有方法么,檢查後台的代碼,將用戶提交過來的信息進行htmlspecialchars()後在操作數據。或者自己編寫代碼,將特殊符號進行正則匹配然後給替換掉。
PHP網站要防哪幾種常見方式攻擊?
常見攻擊方式:1、命令注入,2、eval注入,3、客戶端腳本攻擊,4、跨網站腳本攻擊,5、SQL注入攻擊,6、跨網站請求偽造攻擊,7、Session 會話劫持,8、Session 固定攻擊,9、HTTP響應拆分攻擊,10、文件上傳漏洞,11、目錄穿越漏洞,12、遠程文件包含攻擊,13、動態函數注入攻擊,14、URL攻擊,15、表單提交欺騙攻擊,16、HTTP請求欺騙攻擊
php防止sql注入以及xss跨站腳本攻擊
1.post數據
封裝轉義函數 防sql注入 eag:addslashes($username);addslashes($password);
eag:防止sql注入函數封裝
function deepslashes($data){
#判斷$data的表現形式 並且需要處理空的情況
if(empty($data)){
return($data);
}
#高級簡寫 return is_array($data) ? array_map(‘deepslashes’,$data) : addslashes($data);
#初級寫法
if(is_array($data)){
#遞歸循環遍歷處理多維數組
foreach ($data as $v) {
return deepslashes($v);
}
}else{
#單一變量
return addslashes($data);
}
#初級寫法
}
2.get數據
指url 傳參數導致sql發生改變
解決方案
①強制轉換,使用函數intval 或者 數據類型 的關鍵字int
②隱式轉換,通過運算,只需要+0即可
3.xss跨站腳本攻擊
指惡意攻擊向web頁面插入html、js標籤導致頁面出現錯誤
解決方案
轉義標籤” ”即可,有以下php函數可解決
htmlspecialchars 函數 和 htmlentites函數
eag:
function deepslashes($data){
#判斷$data的表現形式 並且需要處理空的情況
if(empty($data)){
return($data);
}
return is_array($data) ? array_map(‘deepslashes’,$data) : htmlspecialchars ($data);
}
如何實現php的安全最大化?怎樣避免sql注入漏洞和xss跨站腳本攻擊漏洞
使用php安全模式
服務器要做好管理,賬號權限是否合理。
假定所有用戶的輸入都是“惡意”的,防止XSS攻擊,譬如:對用戶的輸入輸出做好必要的過濾
防止CSRF,表單設置隱藏域,post一個隨機字符串到後台,可以有效防止跨站請求偽造。
文件上傳,檢查是否做好效驗,要注意上傳文件存儲目錄權限。
防禦SQL注入。
避免SQL注入漏洞
1.使用預編譯語句
2.使用安全的存儲過程
3.檢查輸入數據的數據類型
4.從數據庫自身的角度考慮,應該使用最小權限原則,不可使用root或dbowner的身份連接數據庫。若多個應用使用同一個數據庫,也應該為數據庫分配不同的賬戶。web應用使用的數據庫賬戶,不應該有創建自定義函數,操作本地文件的權限。
避免XSS跨站腳本攻擊
1.假定所有用戶輸入都是“邪惡”的
2.考慮周全的正則表達式
3.為cookie設置HttpOnly,防止cookie劫持
4.外部js不一定可靠
5.出去不必要的HTML注釋
6. 針對非法的HTML代碼包括單雙引號等,使用htmlspecialchars()函數。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/309368.html