PHP安全程式設計之跨站指令碼攻擊的防禦

2021-07-16 09:57:34 字數 836 閱讀 5498

跨站指令碼攻擊是眾所周知的攻擊方式之一。所有平台上的web應用都深受其擾,php應用也不例外。

<?php

echo "$name writes:

"; echo "

$comment
";

?>

這個流程對$comment及$name的值給予了充分的信任,想象一下它們中的乙個的內容中包含如下**:

這是乙個常見的錯誤,主要是由於不好的程式設計習慣引發的。幸運的是此類錯誤很容易避免。由於這種風險只在你輸出了被汙染資料時發生,所以只要確保做到如前面所述的過濾輸入及轉義輸出即可。

最起碼你要用htmlentities()對任何你要輸出到客戶端的資料進行轉義。該函式可以把所有的特殊字元轉換成html表示方式。所有會引起瀏覽器進行特殊處理的字元在進行了轉換後,就能確保顯示出來的是原來錄入的內容。

<?php

$clean = array();

$html = array();

/* filter input ($name, $comment) */

$html['name'] = htmlentities($clean['name'], ent_quotes, 'utf-8');

$html['comment'] = htmlentities($clean['comment'], ent_quotes, 'utf-8');

echo " writes:

";echo "

";?>

安全測試 跨站指令碼攻擊(xss)

跨站指令碼簡稱xss cross sites script 是web安全裡比較重要也比較普遍的一種安全漏洞。跨站指令碼是指輸入惡意的 如果程式沒有對輸入輸出進行驗證,則瀏覽器將會被攻擊者控制。可以得到使用者cookie 系統 瀏覽器資訊,儲存型xss還可以進行釣魚,以獲取更多的使用者資訊。最常見的測...

跨站指令碼攻擊

跨站指令碼攻擊是眾所周知的攻擊方式之一。所有平台上的web應用都深受其擾,php應用也不例外。所有有輸入的應用都面臨著風險。webmail,code 複製內容到剪貼簿 code 複製php內容到剪貼簿 php echo name writes echo comment 這個流程對 comment及 ...

跨站指令碼攻擊 XSS

跨站指令碼攻擊,cross site script,為了區別css,英文縮寫為xss xss攻擊,通常指hacker通過 html注入 篡改了網頁,插入惡意的指令碼,從而在使用者瀏覽網頁時,控制使用者瀏覽器的一種攻擊。xss根據效果的不同可以分為如下幾類 1.反射型xss 通過將使用者輸入的資料 反...