PHP条带查询字符串,因此它不会将其返回给用户

时间:2015-10-22 02:07:46

标签: php

我在一台服务器上有一个.NET MVC应用程序,我从一个运行在不同服务器上的PHP页面发布一个表单。该应用程序然后重定向回原始的PHP脚本页面。

然后将该网站返回给客户端。很简单。

但是,在重定向(ASP.NET端)上,我发送一个查询字符串以在php代码中检查,并在浏览器中显示查询字符串。

如何首先获取查询字符串值(只有一个),然后将其删除,这样当页面返回到浏览器时,它不会显示查询字符串,因为它包含我不知道的信息。我希望用户看到。

我试过了

<?php unset($_GET['token']); ?>

没有成功。我还尝试使用

进行重定向
header('Location: ... ') 

但当然只是重定向,新的PHP文件没有初始查询字符串来执行该操作。

我还阅读了关于重定向到具有隐藏值的表单和通过javascript自动提交的内容,如果有必要,我可以使用它,但回到客户端将我发送回完全相同的PHP脚本似乎是错误的从URL中删除查询字符串。

由于CORS,我无法在asp.net页面上使用ajax帖子,所以我也不能这样做。

除了javascript方法之外,我想要实现的目标是什么?

1 个答案:

答案 0 :(得分:0)

您可以使用.htaccess从网址中删除所有或特定的GET参数

删除查询字符串

完全删除查询字符串。

RewriteRule ^/page /page?

删除单个键/值

从查询字符串中删除单个键/值对。此示例通过匹配任何值扩展上述值,并删除多个连续的&#39;&amp;&#39;字符。

RewriteCond %{QUERY_STRING}  (.*)(?:^|&)unWantedKey=(?:[^&]*)((?:&|$).*)
RewriteCond %1%2 (^|&)([^&].*|$)
RewriteRule ^(/path)$ $1?%2

所以在您的情况下unWantedKey = token

参考:http://wiki.apache.org/httpd/RewriteQueryString