我在我的网站上遇到了一个大问题,我花了几个月又几个月的时间来解决这个问题。问题是用户能够使用诸如 Firebug 之类的工具和其他类似方法来更改我网站的 HTML。问题是,如果用户更改了表单的一部分,他们可能会更改消息/帖子/等的收件人。
我目前的评论、消息、帖子和其他表单大部分都是这样设置的(就发送用户信息而言:
<form rel="1"></form>
我使用 rel
作为存储内容将要到达的用户 ID 的地方。所以这将转到 ID 为 1 的用户。那么问题是,如果用户在 html 中将其更改为喜欢 5,然后提交表单,它将转到用户 5。如何仔细检查这个当信息到达服务器时,如果它已被更改或发生任何变化,它就不会通过。
我唯一能想到的就是散列用户 ID 或其他东西并将该值存储在 rel 中。这不会解决问题,但可能会使某人更难弄明白。
最佳答案
将用户 ID 存储在 session 中。依赖用户输入的重要内容是一个糟糕的想法。
session_start();
$_SESSION['user'] = array();
$_SESSION['user']['id'] = $result_set['id']; // or however else you may have retrieved their UID
$_SESSION['user']['name'] = $result_set['username']; // STORE ALL THE VARIABLES!!!
关于php - 如何保护我的 html+PHP 表单以防止用户黑客攻击/更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14104712/