我正在设计一个网站,如果允许宏自由运行就会出现问题。
我想到了一种方法来停止通过模拟按钮单击的 HTTP 请求而生成的宏,但是如果他们可以插入只需“单击”按钮并像普通用户一样继续操作的 javascript 脚本,这将是徒劳的。
通过模拟按钮单击,我的意思是,按钮被按下,按钮所在的表单将运行与其关联的 php 代码。
逻辑告诉我 javascript 可以做到这一点,但我想确切地知道,谢谢您的任何意见!
最佳答案
按钮始终可以通过编程方式单击。例如,您可能有一个带有如下表单的页面:
<form>
<input type="text" />
<button>Do something</button>
<input type="submit">
</form>
然后就可以打开调试控制台并输入
document.getElementsByTagName('button')[0].click();
将点击该按钮,或者
document.getElementsByTagName('input')[1].click();
这将单击表单的提交按钮,或者只是
document.forms[0].submit();
无需单击按钮即可提交表单。
没有办法阻止用户在客户端掌握 JavaScript 代码。您必须在服务器端添加一些验证,以防止不需要的用户操作。
关于javascript - javascript可以模拟按钮点击吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17371569/