目前我的任务是为学生调试一个测验客户端,最近我遇到了一些可能存在安全隐患的问题。 每个测验或测试都有相同的命名约定 例: S1Q1.js =第1节测验1
Javascript测验文件(AKA S1Q1.js)只是一个提交给服务器的表单,所以我并不担心,但是在学生提交表单后,它会被评分并被带到审核中有反馈解释为什么正确答案是正确的页面。审查文件始终只是带有R的测验文件,因此它将是S1Q1R.js如果学生能够在测试结束之前下载审阅文件,那么他们很容易获得100。
可能的安全问题来自严格模式下的审阅文件名。我担心学生可以通过知道URL和文件名从服务器请求S1Q1R.js文件。 注意进入审核页面的唯一方法是点击提交测试按钮,如果您手动输入了URL,它会将您重定向到主页结束注释
所以我有什么可担心的吗?如果一个学生可以这样做,他们会怎么做呢,更重要的是我该如何阻止他们呢?
答案 0 :(得分:0)
好吧,如果您不希望他们获取审阅文件,则不应将其上传到公共html目录。它需要存储在私有目录中,在执行特定操作之前无法访问。您可能还希望通过每个学生的唯一URL来调用审阅文件内容。我会说这是一个问题,因为,是的,有人很容易弄清楚这一点。 :)