情况:未注册用户访问网站并发出物品请求。根据当前的数据流,这个请求首先被插入到数据库中,然后请求标识将在后续页面的URL中继承(用户可以在其中添加更多信息)。防止用户操纵查询字符串参数
问题:用户可以更改ID。
是我迄今所做的:只要我检索请求后,ID是通过使用lastInsertId()插入,我将其存储在会话变量中,并在对阵ID后续页面从$ _GET检查。我还实施了CRSF保护,但是当令牌匹配时,会话令牌未设置。因此,即使用户在相同的URL上刷新,检查也会失败。
我该如何解决这个问题?请指出我缺乏的概念。当许多并发用户发出请求时,服务器将确定哪个用户是哪个用户的唯一会话id,对于不同的用户会有所不同,是否正确?由于这种并发性,是否会有任何问题或漏洞?
添加会话是一个好方法。除此之外,您还可以使用存储在配置中的一些盐手动散列Id。你也可以使用类似天和年组合的东西作为盐,在这种情况下它会保持一天不变。将盐与ID一起传递并重新检查盐和会话,如果它们匹配,则继续, – AtulBhatS
感谢@AtulBhatS!使用mcrypt_create_iv()可以照顾盐吗?只是尝试与stackoverflow的url一样,它将我重定向到另一个问题。猜猜这取决于有问题的数据的敏感性:) – Bonzo