【发布时间】:2016-07-27 06:59:12
【问题描述】:
我对 Web 开发还很陌生,最近终于设法使用 javascript 编写了一个简单的在线游戏。我用来管理高分系统的原始方法是将一系列 javascript vars 传递到 HTML 表单中,然后再提交到 php 脚本(即 javascript > HTML(form) > PHP > DB):
Javascript:
var score = 345345; //score after playing game
document.theform.score.value = score;
document.theform.submit();
HTML:
<form name="theform" action="scorehandler.php" method="post">
<input name="score" type="hidden" value="">
</form>
但是,使用此方法允许用户通过重新创建表单并自行提交来轻松破解。
我知道防止用户黑客攻击的常用方法可能是尽可能多地在服务器端进行编码(即使用 php 替换尽可能多的代码),但似乎它可能尤其是给游戏带来一些潜在问题(例如 php 的同步特性)
有没有办法以某种方式从客户端隐藏 html 表单(和相关的 javascript 变量),而无需在 php 中重新编码所有内容?或者还有其他一些标准的解决方法吗?
非常感谢任何帮助!
【问题讨论】:
-
Javascript/HTML 需要通过浏览器呈现和访问,因此没有保护这些的方法。您可以通过混淆来获得安全性,但这通常效果不佳。
-
-
相关阅读:stackoverflow.com/questions/3531968/… stackoverflow.com/questions/13942498/… - 尤其是第二个。 “永远不要相信来自浏览器的任何东西。”用户可以完全控制他们的浏览器。他们可以欺骗任何东西。
标签: javascript php html security