0

我一直在使用类似 Facemash 的脚本。但问题是,当我们将光标指向每张图片的图片时,当我们对人们进行评分时,会有一个如下 URL:

rate.php?winner=XXX&loser=XXXX1

所以,如果我们直接在地址栏中输入这个技巧就可以了!因此,用户有机会破解他们的分数。我知道我们可以将 GET 方法更改为 POST 方法。我已经搜索过这个,没有什么能真正帮助我。文件(rate.php 和 index.php)的链接也包含在这个问题的评论中。

4

3 回答 3

2

我正在制作自己的类似 Facemash 的引擎,这就是我所做的。

id在 PHP 中存储了两个挑战者$_SESSION。在显示新对之前,我检查是否$_SESSION已设置,如果是,我只显示它们而不是从数据库中获取新对。这可以通过刷新页面来防止作弊,直到您获得照片。我这样做是因为我正在为其制作 facemash 的社区相对较小。

所以链接看起来像vote.php?v=leftor right。在vote.phpI get ids from a $_SESSION['right']and$_SESSION['left']然后取消设置它们。我期待有一天能发布我的剧本。

于 2012-12-14T05:55:33.200 回答
0

是的,如果您从 GET 更改为 POST,那么参数将不会在提交时显示在 URL 中。

http://www.w3schools.com/php/php_post.asp

于 2012-06-07T13:25:31.553 回答
0

与其依赖 GET/POST 来确定比较,不如将数据存储在其中$_SESSION,只让用户选择“image1”或“image2”,然后在做出选择后无效并创建新的比较。

示例站点 - 表单仅允许您选择 1 或 2

于 2012-06-07T15:45:36.823 回答