我开发了一个无法访问互联网的内部应用程序。
我希望能够让用户登录,只看到sitesname.net,并且没有过去的URL。
目前,他们会看到一个包含目录,网页和广告的长网址。基于会话及其正在执行的功能的$_GET
值。我注意到他们中的一些人已经完成了$_GET
值完整的书签,所以他们正在做一些不应该做的事情。
我希望能够隐藏目录,页面和页面。来自他们的$_GET
值。
有可接受的方法吗?
在php
服务器上使用mysql
,apache
构建的应用。
答案 0 :(得分:1)
对此没有一个答案,因为这些参数中可能存在不同类型的信息:
method="post"
编写,这将把数据放入HTTP正文(可通过$_POST
访问),而不是URL(可通过$_GET
访问)。请注意,这确实不为您提供任何安全性,因为精明的用户仍然可以读取和操作正在发送的数据,但它确实保持URL整洁,并防止用户为页面添加书签对它采取行动。一旦处理完数据,将用户重定向到成功页面(没有POST参数)通常也很有用,这样点击"刷新"不会尝试重新发送数据。setcookie()
编写,$_COOKIE
阅读下一页。同样,用户可以查看和操作这些内容,但他们可以更轻松地管理需要过期的数据。http://example.com/users/IMSoP
,服务器就会看到请求,就好像http://example.com/user_page.php?username=IMSoP
;但是,您无法说明该网址IMSoP
,否则您的代码无法知道要显示的用户页面。答案 1 :(得分:0)
我不是mod_rewrite的专家,但我认为你可以通过使用mod_rewrite隐藏get params。您可以使用" post"作为Http方法和那种方式,你将有一个干净的网址(即你的网址中没有参数),如果你是安全的想法,帖子也是安全的。
有关GET&amp ;;的更多信息POST你可以访问这些链接,他们将帮助你决定你必须使用哪种方法的http方法。这里:
GET vs POST (Yay! In Tabluar form)
HTTP Methods
PHP Form Handling