jQuery(userInput)对最终用户来说是否“安全”
Is jQuery(userInput) "safe" for end-users?
我正在开发一个小的jQuery选择器游戏。本质上,你会得到一些HTML代码,你必须编写jQuery选择器来选择突出显示的项目。
例如,假设您有:
<body>
<p id="winner">Select this paragraph</p>
<p> But not this one </p>
</body>
正确的选择器之一是 $('#winner')
我目前计划在"$(' ...') "(...'s 所在的位置)并执行以下操作:
var userInput = ...
var userSelectedItems = new Array();
userSelectedItems = $(userInput)
// Check if userSelectedItems == the array of elements supposed to be selected
// Change screen to green and allow users to press enter and continue to next challenge.
现在,我知道如果你允许用户直接输入一些PHP或其他东西,可能会发生各种不好的事情,但是本质上允许用户输入/执行这种javascript命令有什么吗?如果是这样,你建议我如何解决这种情况。我真的很喜欢制作这个教育游戏,所以任何帮助都非常感谢。我真的看不出它有任何危险的方式,因为它都在客户端计算机上运行,对吗..?我不知道,也许我错过了什么
谢谢
如果您允许用户使用其他用户的 Javascript,可能会出现安全问题,但是如果唯一执行代码的人是输入代码的人,那么您应该没问题。
客户端上的任何内容总是容易受到最终用户所做的更改的影响。
但是,如果您没有将任何信息保存到数据库中,并且该游戏没有任何竞争条件,我不会担心可能出现的任何安全问题。您始终可以在自己的 Javascript 中清理客户端输入,以确保非技术用户在此过程中不会更改游戏状态。
它与Javascript没有什么不同,唯一的漏洞是如果有人能够将一些代码注入您的应用程序或数据库,从而显示您的Web服务器上提供的内容。 只要你的应用程序受到 XSS 和 SQL 注入的保护,你应该没问题,这将是相同的概念。
相关文章:
- 当eval只执行服务器端数据时,在javascript中使用eval是否安全
- 假设浏览器渲染为60 fps是否安全
- 如果条件将长 JavaScript 拆分为多行是否安全
- 如何检测在 Javascript 中使用“in”运算符是否安全
- 为用户应用程序托管 javascript 文件是否安全
- 使用AngularJS是否安全
- 在JavaScript源代码中使用UTF-8字符文字是否安全
- 每隔1秒调用一次jQueryajax是否安全
- 使用Ajax提交表单是否安全
- 重新触发Javascript事件是否安全
- 使用for.of迭代时删除集合中的元素是否安全
- jQuery(userInput)对最终用户来说是否“安全”
- JavaScript 在表单中注入密码是否安全
- 如果没有其他用户会看到未转义的用户输入,渲染它是否安全
- 是否安全应用是最佳实践
- 使用 Restangular 使用 RESTful API - RESTful API 将数组作为顶级对象返回是否安全
- 网络套接字是否安全
- 在循环时修改数组是否安全
- HTML 文本框值属性是否安全免受 XSS 攻击
- 在 JavaScript 中依赖全局本机对象是否安全,尤其是 Object 对象