javascript - javascript可以模拟按钮点击吗?

标签 javascript security macros

我正在设计一个网站,如果允许宏自由运行就会出现问题。

我想到了一种方法来停止通过模拟按钮单击的 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/

相关文章:

c++ - 宏中的静态变量

javascript - Javascript 是否具有给定文档的原始源代码的内部知识?

python - Django 的受限数据库用户

security - JWT token 存储在服务器上的何处以及其他相关问题

java - AES 加密(Python 和 Java)

macros - 带有参数 x 和输出 $x 和 @x 的宏

javascript - React Component 和 React Element 的区别

javascript - 在 Chart JS 生成的图形中绘制数据

javascript - NodeJS : Functional Programming - No access to prototype in handover function

c++ - Coverity 为使用 'cov-build' 的构建定义了哪些预处理器符号?