我正在开发一个小jQuery选择器游戏。从本质上讲,您将获得一些HTML代码,您必须编写jQuery选择器来选择突出显示的项目。
例如,假设你有:
<body>
<p id="winner">Select this paragraph</p>
<p> But not this one </p>
</body>
其中一个正确的选择器是$('#winner')
我目前打算抓住“$('...')”中的字符串(......的位置)并执行以下操作:
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命令吗?如果是这样,你怎么建议我解决这个问题。我非常喜欢制作这款教育游戏,所以非常感谢任何帮助。我真的看不出它有什么危险,因为它都是在客户端的计算机上运行的。我不知道,也许我错过了什么
由于
答案 0 :(得分:3)
如果您允许用户使用其他用户的Javascript,则可能会出现安全问题,但如果执行代码的唯一人员是进入该代码的人,那么您应该没问题。
答案 1 :(得分:2)
客户端的任何内容总是容易受到最终用户的更改。
但是,如果您没有将任何信息保存到数据库,并且没有任何竞争条件,我不会担心可能出现的任何安全问题。您可以随时在自己的Javascript中清理客户端输入,以确保非技术用户在此过程中不会更改游戏状态。
答案 2 :(得分:0)
这与Javascript没有什么不同,唯一的漏洞就是有人能够在您的应用或数据库中注入一些代码,这些代码会显示您的Web服务器上提供的内容。只要您的应用程序受到XSS和SQL注入保护,您应该没问题,这将是相同的概念。