如何隐藏通过$ _GET发布的参数?

时间:2012-10-08 03:02:16

标签: php http url post get

如何隐藏变量以便我有一个更清晰的URL?而不是下面的那个?

test.php?id=1&mainid=1

我为.htaccess查了一些东西,但我还在学习,所以我被卡住了。

4 个答案:

答案 0 :(得分:3)

如果您想这样做,则需要使用POST代替GETGET就其性质而言,将参数放在网址中。

答案 1 :(得分:1)

Amber是对的,将您的表单方法更改为POST。你可以尝试使用

<input type="hidden" name="parameter_name" value="value_to_post" />

如果您不希望它们出现在URL中但需要传递变量以进行处理,则传递变量。但请记住,查看表单来源的人会看到标记,并且可能会识别您传递的信息,即使是隐藏字段也是如此。

如果要发布用于通用处理而不是数据库操作的数据,则GET就足够了;无论方法如何,如果变量中的数据将用于反对或放入数据库,请确保将其转义以防止SQL注入攻击(最常用于使用GET方法的表单)。

希望这一切都有所帮助。

答案 2 :(得分:1)

假设您的站点托管在Apache服务器上,您可以使用mod_rewrite获得更好看的URL。

例如:

RewriteRule / products /([0-9] +)/siteengine/products.php?id=$1

使用.httaccess中的该行,您可以访问任何产品:

example.com/products/N

查看此tutorial

答案 3 :(得分:0)

使用方法post而不是get ...