您好,首先是从美国到世界各地的新年快乐。我今天在$ _GET上做了很多阅读,确切地说它是什么以及在我的系统中实现它有多大用处。
要明白:
我有一个跟踪学生的系统。然后,所述系统将能够允许大学的辅导员专门与学生一起工作,在辅导员为学生完成的工作中添加评论。 - >现在我的意思是,如果辅导员接受学生创建会话(不是php会话,而是学生和工作人员之间的实际会话“辅导员”)
我的特定系统需要从网址获取meeting_id。所以url会这样:localhost / student.php?id = 1或2或3或4(依此类推)
根据我对$ _GET的理解: 我可以使用特定的url id(例如:localhost / student.php?id = 1)并使用$ _GET ['id']来更新数据库表中的特定行。
我的问题是:
我对$ _GET的理解合法吗?我将使用会话,我将在我的系统的所有页面(或内联网,如果你想称之为)上启用SSL。我将使用PDO来更新/写入/选择我的数据库表。我想知道这是否是实现$ _GET的正确方法,以及它是否是一种安全的方式。
Reading these answers / comments make me hesitant to go on with this logic.但是对于$ _GET的这种特定用法,实现这种逻辑是不错的做法?
答案 0 :(得分:3)
$ _GET方法和其他方法一样安全。这是你用它做的事情,使它不安全。在数据库查询中使用它之前,请确保以某种方式验证$ _Get。例如,如果您知道id将是一个整数,并且您知道最大长度是多少,请在使用之前检查这些内容。
答案 1 :(得分:2)
使用$ _GET ['id']更新数据库表中的特定行。
您从未想要使用$ _GET对数据库进行任何更改,只选择。 $ _GET可以加入书签并无意中再次使用。
这样想。如果你想能够为某些顾问添加书签,那么$ _GET就是完美的。
如果要对数据库进行更改,则要使用$ _POST。当然,您仍然无法信任用户,您需要确保它们已经过身份验证,并且您需要清理任何传入的数据。如果您使用的是PDO,请确保在查询语句中绑定数据
答案 2 :(得分:1)
当使用$ _GET方法时,传递的变量将在url中可见。因为你正在构建一个包含重要数据的站点,所以最好使用$ _POST以便使用可变名称&值不可见。还要彻底验证所有用户输入字段。