【发布时间】:2016-11-20 12:01:51
【问题描述】:
我有一个表,它从名为 auctiontable 的 MySQL 表中提取 ID 列表,并将结果列在表的行中。
我可以很容易地在href 的末尾添加?aid="1" 或?aid="2" 以使用$_GET,但我希望用户在变量链接到其他页面时无法控制它并且需要在他们点击他们想要使用的行之后设置它,但在它转到另一个页面之前。 (如果这有任何意义)
当用户单击href 并随后链接到下一个页面时,是否有任何可能的方法来设置PHP 会话变量,该会话变量设置对应于他们在表格上单击的哪个项目?使用 PHP 或 Javascript,或其他什么?
【问题讨论】:
-
URL 中的任何内容都意味着用户可以控制它。在会话中设置数据非常繁重,如果该人使用多个选项卡,可能会导致问题,来自一个窗口的数据可能会污染另一个窗口。这些参数有什么问题?
-
我试图在会话中设置的值是拍卖 ID。用于确保他们在数据库中输入的所有物品都与该特定拍卖编号相关联的主 ID。我觉得它不应该在 URL 中,易于访问。
-
另外,从数据库中提取的所有物品都将使用此拍卖 ID,尤其是在开发票时,所以我觉得在 URL 中包含它可能是一个等待发生的安全问题。跨度>
-
也是只设置了一次,必须的。他们唯一能够更改会话的方法是注销并重新登录,然后它会自动让他们选择他们想要再次参加的拍卖,所以如果他们有多个标签,它仍然会与同一个拍卖。至少在我的理解中
-
如果操纵该参数会导致安全问题,那么您处理这些问题的整个模型就有缺陷。验证你给出的任何论点是否有意义。 切勿盲目使用用户提供的数据。不管它是在 URL 中,还是在表单中,或者以某种方式存储在会话中,都需要在创建数据库记录之前对其进行验证。事情发生了变化,会话变得无效,权限发生了变化。
标签: javascript php html mysql session