javascript - 是否有一个 <a> 标记的事件处理程序在页面加载时触发?

标签 javascript html xss

这个

<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> 。 所以无论如何你都需要清理它的值。

关于javascript - 是否有一个 <a> 标记的事件处理程序在页面加载时触发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17136357/

相关文章:

php - 从 XSS 中清除 Markdown

javascript - 如何安全地打印带有 HTML 标签和实体的字符串

javascript - 谷歌驱动器 API v3 javascript : moving files

javascript - 如何使用 html javascript jquery 自动显示包含图像的文件夹?

html - 如何将 IMG SRC 从一个 HTML 标签拉到另一个?

ruby - 如何在 sinatra 应用程序中使用 html_escape 文本数据?

javascript - 如何使用 "start of week"和 "end of week"的格式字符串

javascript - 将向左滚动设置为在刷新时从零开始不起作用

javascript - 以编程方式调整 Div 的大小

html - Qt 创建左箭头样式的按钮