1

你好,首先从美国到世界各地的每一个人新年快乐。今天我已经阅读了很多关于 $_GET 的内容,以及它的作用以及在我的系统中实现它的用处。

言归正传:

我有一个跟踪学生的系统。然后,所述系统将能够允许大学的辅导员专门与学生合作,对辅导员为学生所做的工作添加评论。- >现在我的意思是,如果辅导员接受学生,则会创建一个会话(不是 php 会话,而是学生和工作人员“辅导员”之间的实际会话)

我的特定系统需要从 url 获取 meeting_id。所以网址会像这样:localhost/student.php?id=1 or 2 or 3 or 4 (等等)

根据我对使用 $_GET 的理解:我可以获取特定的 url id(例如:localhost/student.php?id=1)并使用 $_GET['id'] 更新数据库表中的特定行。

我的问题是:

我对 $_GET 的理解合法吗?我将使用会话,我将在我系统的所有页面上启用 SSL(或者如果你想这样称呼它,则为 Intranet)。我将使用 PDO 从我的数据库表中更新/写入/选择。我想知道这是否是实现 $_GET 的正确方法以及是否安全。

阅读这些答案/评论让我犹豫要不要继续这个逻辑。但是对于 $_GET 的这种特定用法,实现这个逻辑是否是一种好习惯?

4

3 回答 3

3

$_GET 方法和其他方法一样安全。当你得到它时,你用它做的事情使它变得不安全。只需确保在数据库查询中使用 $_Get 之前以某种方式对其进行验证。例如,如果您知道 id 将是一个整数并且您知道最大长度可以是多少,请在使用它之前检查这些内容。

于 2013-01-01T02:00:42.270 回答
2

使用 $_GET['id'] 更新数据库表中的特定行。

永远不想使用 $_GET 对数据库进行任何更改,只能选择。$_GET 可能会被添加书签并在不经意间再次使用。

这样想吧。如果您希望能够为某些内容添加书签,例如某个顾问的评论,那么 $_GET 是完美的。

如果要更改要使用 $_POST 的数据库。当然,您仍然不能信任用户,您需要确保他们已通过身份验证,并且您需要清除所有传入数据。如果您使用 PDO,请确保在查询语句中绑定数据

于 2013-01-01T02:10:01.720 回答
1

当使用 $_GET 方法时,传递的变量将在 url 中可见。由于您正在构建一个包含重要数据的站点,因此最好使用 $_POST 以便变量名称和值不可见。还要彻底验证所有用户输入字段。

于 2013-01-01T02:04:10.333 回答