這是因爲id屬性不安全。
這不是我的答案,但它會回答你的問題:https://security.stackexchange.com/questions/88973/why-do-id-attributes-need-stricter-validation
對於id
和name
,這些屬性經常用作DOM參考點。
如果攻擊者可以欺騙這些參考點,她可能會欺騙現有腳本,從非設計的位置獲取和設置值,這可能是危險的,具體取決於使用的上下文。從我
注:他對name屬性會談後的休息,但如果你不已經是頭上
這也你會得到這一切背後的想法適用於HTML表單,其中name
用於標識名稱/值對。例如,如果一個網站在輸出時沒有對特定的表單字段進行編碼,但由於表單字段是服務器生成的,並且表單通過使用令牌來防止CSRF,因此無法通過常規手段進行利用。但是,攻擊者可能能夠誘使用戶訪問帶有在name
中使用的參數的URL,其中包含在提交表單時執行的XSS有效內容。
例如正常使用:
https://example.com/product?item_name=watch&qty=1
這使得形式
<form>
<input type="hidden" name="watch" value="1" />
<input type="hidden" name="shop_name" value="Bob's Supplies" />
<input type="hidden" name="anti-csrf" value="asdjasodhoai" />
<input type="submit" value="Click here to buy" />
</form>
然後獲取輸出
Thank you for buying from Bob's Supplies.
然而,攻擊者可以發送一個鏈接給用戶,像這樣:
https://example.com/product?item_name=shop_name&qty=<script>alert('xss')</script>
由於申請是正確此時HTML編碼它呈現形式
<form>
<input type="hidden" name="shop_name" value="<script>alert('xss')</script>" />
<input type="hidden" name="shop_name" value="Bob's Supplies" />
<input type="hidden" name="anti-csrf" value="asdjasodhoai" />
<input type="submit" value="Click here to buy" />
</form>
這然後獲取輸出
Thank you for buying from <script>alert('xss')</script>.
,因爲這個頁面不HTML編碼shop_name
參數,因爲它是可信和應用程序框架總是在重複的情況下取第一個值。非常有意思,但這是我首先想到的一點。
來源
2016-09-24 22:29:00
Ced
與卡爾從這個問題的答案在一起:http://stackoverflow.com/問題/ 39007130/the-pipe-could-be-found-angular2-custom-pipe對於Sanitizer的這個問題很好的解決方法 – sanyooh
@sanyooh這個工作很好,但我得到'undefined'在我的' innerHTML]'顯示內容。 '
' – fidevSafeHtml?應從 –