如何使锚标记的 href 调用匿名函数?
How to make an anchor tag's href invoke an anonymous function?
我正在对一个 Internet 论坛进行跨站脚本攻击,可以将链接放入 post 中,例如
[url]http://google.com[/url]
然后显示为
<a href="http://google.com">http://google.com</a>
在论坛的主题中。如果可能的话,我想使用通过 href
调用 JavaScript 函数的技术,即
<script type="text/javascript">
function sayHello ( )
{
alert("Hello");
}
</script>
<a href="javascript:sayHello()">Clicking here alerts "Hello"</a>
但是由于我无法使用预定义的 JavaScript 函数,我想知道是否可以在其中放置匿名函数,例如
<a href="javascript:function(){alert('Hellow');}">Clicking here alerts "Hello"</a>
我已经在记事本中用简单的页面对此进行了测试
<html>
<head>
</head>
<body>
<div>
<p>Clicking on <a href="javascript:function(){alert('Hello');}">this</a> will alert "Hello""</p>
</div>
</body>
</html>
但是没用。
对我有什么建议吗?
使用 IIFE:
<a href="javascript:(function(){stuff to do})()">Click here</a>
虽然和不使用 IIFE 的做法没有太大区别,就像顶层 JS 代码一样:
<a href="javascript:stuff to do">Click here</a>
唯一的显着区别是您可以在函数内声明局部变量。
我正在对一个 Internet 论坛进行跨站脚本攻击,可以将链接放入 post 中,例如
[url]http://google.com[/url]
然后显示为
<a href="http://google.com">http://google.com</a>
在论坛的主题中。如果可能的话,我想使用通过 href
调用 JavaScript 函数的技术,即
<script type="text/javascript">
function sayHello ( )
{
alert("Hello");
}
</script>
<a href="javascript:sayHello()">Clicking here alerts "Hello"</a>
但是由于我无法使用预定义的 JavaScript 函数,我想知道是否可以在其中放置匿名函数,例如
<a href="javascript:function(){alert('Hellow');}">Clicking here alerts "Hello"</a>
我已经在记事本中用简单的页面对此进行了测试
<html>
<head>
</head>
<body>
<div>
<p>Clicking on <a href="javascript:function(){alert('Hello');}">this</a> will alert "Hello""</p>
</div>
</body>
</html>
但是没用。
对我有什么建议吗?
使用 IIFE:
<a href="javascript:(function(){stuff to do})()">Click here</a>
虽然和不使用 IIFE 的做法没有太大区别,就像顶层 JS 代码一样:
<a href="javascript:stuff to do">Click here</a>
唯一的显着区别是您可以在函数内声明局部变量。