javascript可以模拟按钮点击吗?

时间:2013-06-28 18:45:03

标签: javascript security macros

我正在设计一个网站,如果允许宏自由运行,那将会有问题。

我想到了一种通过模拟按钮点击的HTTP请求来停止宏的方法,但如果他们可以插入只是“点击”按钮并按照普通用户的方式继续操作的javascript脚本,那将是徒劳的。

通过模拟按钮单击,我的意思是,按下按钮并运行按钮形式,并使用与之关联的php代码。

逻辑告诉我javascript可以做到这一点,但我想知道,谢谢你的任何输入!

〜安德鲁

2 个答案:

答案 0 :(得分:47)

可以通过编程方式单击按钮。例如,您可能有一些页面如下:

<form>
    <input type="text" />
    <button>Do something</button>
    <input type="submit">
</form>

可以打开调试cosole并输入

document.getElementsByTagName('button')[0].click();

将点击按钮,或

document.getElementsByTagName('input')[1].click();

将点击表单的提交按钮,或者只是

document.forms[0].submit();

在不点击按钮的情况下提交表单。

无法阻止用户在客户端上掌握JavaScript代码。您必须在服务器端添加一些验证,以防止不必要的用户操作。

答案 1 :(得分:2)

您唯一能做的就是验证服务器上的请求。

将页面交给客户后,您无法对如何使用该页面进行技术控制。

您可以做些什么,例如from

说你正在制作javascript游戏。您使用AJAX将玩家的分数发送给 用于记录的服务器。查看脚本后,恶意用户可以运行您的AJAX代码 即使他们只赚了5,000,也能获得1,000,000分。

你不能阻止这种情况发生在javascript端。但是,应该有一些方法来验证服务器端的AJAX请求,您可能能够将安全“令牌”传递给黑客无法获得的javascript。