我目前正在使用来自查询字符串(网址)http://example.com?id=c02df
的$ _GET变量来处理结果并更新等,因为您知道用户可以通过网址(from above example id is c02df)
查看发送到下一页的ID并且可以自己更改URL中的id。请告诉我是否有任何替代方法可以在页面之间交换ID以相应地处理用户无法看到或弄乱的功能?
答案 0 :(得分:2)
如果您不想允许用户篡改请求,最好的解决方案是使用$_SESSION
。
如果您提供有关代码的更多信息,我可以提供有关解决方案的更多信息。
编辑:这是使用$ _SESSION和$ _GET的“解决方法”(仍然没有看到你的代码):
您设置了$_SESSION['allowed_gets'][] = 'c02df';
然后,当用户发出请求时,您检查是否允许他们执行该请求:
if (!in_array($_GET['id'], $_SESSION['allowed_gets'])){ die(); }
答案 1 :(得分:1)
如果您有内容用户无法看到,您应该有一个登录系统。
如果您只想要无法使用的网址,请避免使用$_GET
参数的顺序ID。例如,您可以生成ID的盐渍MD5 / SHA1哈希值,将其与ID一起存储在数据库中,并在URL中使用它。