GET、POST、SESSION在后端应用


GET vs POST vs SESSION in Backend App

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

用户1有MASTER COURSE ->>>> URL = curso.php?页面=主

用户2有BASIC COURSE ->>>> URL = curso.php?基本页面=

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

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

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

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

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

感谢您的帮助和提示。

非常感谢,很抱歉我的英语不好。

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

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

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

在大多数浏览器中,检查用于发出请求的post数据只需不到六次点击。POST对用户没有隐藏任何东西,它只是避免在他们面前挥舞它。

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

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

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

你需要某种身份验证才能做你想做的事情。

仅仅依靠POST是绝对不安全的。例如,您可以使用rest工具轻松地启动POST请求。

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

基本上,使用POST或GET并不重要。但是HTTP规定,如果你想从服务器检索数据,就使用GET,如果你想向服务器发送数据,就使用POST。

因此,使用GET并编写一个漂亮的类,其中存储已验证用户的权限,并检查用户是否能够检索所需的内容。

在任何情况下,与GET相比,SessionPOST对您的安全性都是一个很大的改进,这是肯定的。但是你仍然需要在你的页面上检查