0

您好,感谢您的宝贵时间。我正在开发一个网络应用程序,我的登录客户将能够在其中观看视频课程。现在我正在使用 GET 通过 URL 传递有关视频类型的信息。例如:

用户 1 有硕士课程 ->>>> URL = curso.php?page=master

用户 2 有基础课程 ->>>> URL = curso.php?page=basic

你看,我认为这里存在安全问题,因为如果用户 2 输入他的 URL“page=master”,他将能够观看不允许他观看的视频。

所以我正在为每个页面编写安全检查,以查看用户 ID 可以访问所需页面的 ID。

但我认为这是太多无用的工作。如果我在我的按钮上使用 POST 方法,并通过 POST 提交数据,那么假设给定用户将无法看到不适合他的内容是否完全安全?毕竟,URL 总是一样的,比如 curso.php。

还有使用 Session 的可能性,但是我可以用提交按钮或类似的东西定义一个 Session 值吗?

我知道,我知道,有很多新手问题,但这只是我的第二个后端系统,我想在这里错过很多安全实践。

将不胜感激任何帮助或提示。

非常感谢,对不起我的英语不好。

4

4 回答 4

4

所以我正在为每个页面编写安全检查,以查看用户 ID 可以访问所需页面的 ID。

好的。这就是你需要做的。在向用户展示任何数据之前,请检查他们是否有权查看这些数据。

但我认为这是太多无用的工作。如果我在我的按钮上使用 POST 方法,并通过 POST 提交数据,那么假设给定用户将无法看到不适合他的内容是否完全安全?毕竟,URL 总是一样的,比如 curso.php。

在大多数浏览器中,只需不到六次点击即可检查用于发出请求的发布数据。POST 不会向用户隐藏任何内容,它只是避免在他们的脸上挥舞它。

并且有可能使用 Session,但我可以用提交按钮或类似的东西定义一个 Session 值吗?

您不能定义会话值客户端。数据必须在请求中发送到服务器。

于 2013-03-21T13:59:09.273 回答
3

POST 与 GET 一样不安全。POST 不能用于提高安全性。您必须根据当前登录的用户信息对服务器进行检查。所以使用 GET,因为这是 HTTP 的设计使用方式,并对服务器进行必要的检查。

您需要某种身份验证才能执行您想要的操作。

于 2013-03-21T14:00:34.610 回答
2

仅使用 POST 进行中继绝对不安全。例如,您可以使用 REST 工具轻松启动 POST 请求。

我不知道您是否正在使用底层框架(我建议您这样做,因为您基本上是在要求用户权限管理),但如果不是,我可能会将权限保存在 User 类或会话中并检查给定的参数。

基本上,使用 POST 或 GET 都没关系。但是 HTTP 表示,如果您想从服务器检索数据,则使用 GET;如果您想向服务器发送数据,则使用 POST。

因此,使用 GET 并为自己编写一个不错的类,其中存储了经过身份验证的用户的权限,并检查用户是否能够检索所需的内容。

于 2013-03-21T13:59:25.600 回答
-3

无论如何,与 相比,两者都SessionPOST大大提高您的安全性GET,这是肯定的。但是您仍然需要在您的页面上进行检查

于 2013-03-21T13:59:51.510 回答