簡體   English   中英

<a>頁面加載時會觸發代碼</a>的事件處理程序<a>嗎?</a>

[英]Is there an event handler for an <a> tag that fires when the page loads?

這個

<body onload="alert(1)"></body>

頁面加載時會提醒數字1。 有沒有這樣的事件處理程序

<body>
  <a ???="alert(1)"></a>
</body>

頁面加載時也會提醒1? 這是一個XSS問題。 我想確保您不能從<a>標記執行javascript,因為我想像這樣從php中回顯一些輸出:

echo "<a href='" . $user_input . "' ></a>";

這很容易受到XSS的攻擊,但前提是有人單擊或將鼠標懸停在鏈接上。 如果用戶提供此輸入:

$user_input = "' onclick='alert(1);"

然后,標記將如下所示:

<a href='' onclick='alert(1)'></a>

當然,如果變量包含例如'></a><script>alert(1);</script> 因此,無論如何,您都需要清理其價值。

不,你不能。 最簡單的方法是將函數調用直接放在元素之后

<body>
    <a></a>
    <script>alert(1)</script>
</bodY>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM