javascript - 阻止用户访问表单
问题描述
我的页面中有一个按钮,可将用户重定向到表单:
<button id="evaluationWait" type="button" class="btn btn-danger btn-lg btn-block" style="display:none;"><a href="questionary.html"><h1 style="margin: 20px;">Evaluation</h1></a></button>
我想如果计算机,无论是手机、平板电脑、膝上型等,已经点击了按钮并访问了带有问题的页面,那么他们就不能再这样做了。
我正在考虑使用 localstorage,因为如果用户(设备)已经点击了按钮,这将是最简单的获取方式,比如当你投票给某事而你不能做两次。
但是我应该如何应用它。对于按钮,我想禁用按钮,使用 localstorage 设置类,但是有没有办法阻止设备重新访问页面或重定向它们?
谢谢
解决方案
不,没有可靠的客户端方法可以做到这一点。永远不会有一种安全的客户端方式来进行这样的检查。作为开发人员,您应该始终提醒自己“永远不要相信客户”的口头禅。用户可以以您无法控制的方式操纵客户端。因此,您必须始终在服务器端处理重要检查。在您的示例中,用户每次都可以简单地使用不同的私人浏览会话,而您对上一个会话一无所知,甚至 cookie 也不localStorage
知道sessionStorage
。
推荐阅读
- reactjs - 将 React 应用程序上传到外部服务器
- r - 如何转换循环以应用家庭功能以提高效率?
- javascript - 如何在socket.io中追加聊天并出现井类?
- swift - 摆脱饼图图例中的文本“数据集”
- ios - 如何从嵌套可解码模型中的数组中获取 numberOfRowsInSection 的计数
- django-rest-framework - 在发布请求时更新外键相关实例
- python - 我的 RDS 具有存储在 s3 中的图像的链接如何将该链接转换为 lambda python 函数中的图像
- arduino - 使用单电机控制 Arduino (Uno) 库控制两个步进电机
- c# - 无法将字符串数组转换为 Int32
- git - 合并工具应如何指示合并成功?