Name,Points,Date
AAA,15,2012-08-25
等;我该怎么做呢?我的想法是将带有ajax请求的东西发送到一个php文件,后者又解析并写入csv,但我无法想象如何在没有被注意的情况下将数据发送到php文件(允许人们输入假的分数) )。
此外,这必须非常简单,因此,没有node.js等。
答案 0 :(得分:2)
没有简单的方法可以做到这一点,因为没有服务器端验证,它仍然可以伪造 - 这就是你看到的大多数Flash游戏都有荒谬的高分的原因。
您可以使用的一种方法是基于时间的加密。这并不能让它变得万无一失,但是却让人手动伪装真的很麻烦。
例如,您可以使用MS中的当前时间戳作为密钥来加密分数,并将散列和时间发送到服务器。在服务器端,您可以使用时间作为密钥来解密哈希。如果时间与当前服务器时间相差太远(花时间将分数发送到帐户中),则丢弃分数。
示例请求将是:
page.php?t={timestamp}&name={name}&h={encryptedscore}
t
是MS中的时间,name
是用户的名称,h
是时间和分数的哈希值。
这并不是非常安全,但如果没有能力对脚本进行实时编辑以使其伪造,则会更加困难。
答案 1 :(得分:0)
如果这是一个直接的AJAX呼叫,没有什么可以阻止任何人打开Fiddler并修改这个的http帖子。 只需验证您从客户端收到的输入。确保数字是数字,日期是有效日期。
你甚至使用SQL吗? SQL注入是人们从客户端获取输入并将其直接连接到SQL查询的地方。