Php 隐藏/保护URL-获取字符串/数据
如何防止数据字符串显示在URL中?因为任何人都可以很容易地覆盖所写的内容,而且看起来不整洁 我没有尝试过任何重写规则,我想有一个更简单的方法 我的印象是rawurlenocde和urlencode会这样做,但我认为我错了Php 隐藏/保护URL-获取字符串/数据,php,url,Php,Url,如何防止数据字符串显示在URL中?因为任何人都可以很容易地覆盖所写的内容,而且看起来不整洁 我没有尝试过任何重写规则,我想有一个更简单的方法 我的印象是rawurlenocde和urlencode会这样做,但我认为我错了 <td align="left"><a href="review.php?id='. $row['review'] . '&title=' . $row['movie_title'] .'"> Read Review </a>
<td align="left"><a href="review.php?id='. $row['review'] . '&title=' . $row['movie_title'] .'"> Read Review </a>
这就是它在另一页上的显示方式
<div id="sub_review_container"> <? echo ($_GET['title'])?> </div>
<div id="Review_container"> <? echo ($_GET['id'])?> </div>
POST的预期用途是用于改变服务器状态的事情:更改文件、向数据库添加内容等。此外,没有简单的方法(据我所知)让浏览器通过链接提交POST请求(您需要在页面上有一个隐藏的表单,并让链接触发要提交的表单)。POST也不总是对用户友好的,因为如果他们尝试刷新页面,浏览器会在他们是否要重新提交数据方面给他们设置错误 听起来你担心两个潜在的问题:
对于第二部分,PHP无法解决您的问题,您需要依靠web服务器本身来解决。PHP只获取服务器发送给它的数据,服务器根据URL确定将请求路由到何处。听起来您正在使用ApacheHTTPD,所以您最好使用URL重写。这并不难,只要花一个小时或更少的时间阅读文档,您就应该能够快速启动并运行。还有其他方法可以做到这一点:说服Apache将特定前缀URL下的所有请求发送到您的PHP脚本,您可以从PHP内部检查请求URL,但这比使用Apache的重写引擎要多得多。如果您想隐藏GET参数,唯一的方法是URL重写-或者不使用GET。我可以在提供的示例中使用POST吗?请不要推荐POST作为GET的替代方法。它们工作方式不同,用途不同,一般不应视为可互换。