【问题标题】:How do I hide parameters posted via $_GET? [closed]如何隐藏通过 $_GET 发布的参数? [关闭]
【发布时间】:2012-09-28 07:04:17
【问题描述】:

如何隐藏变量以便获得更清晰的 URL?而不是下面的?

test.php?id=1&mainid=1

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

【问题讨论】:

  • 好吧,我只想让 test.php 可见,其余的应该隐藏。
  • @AndreKR 谢谢你。你真聪明!!!

标签: php http url post get


【解决方案1】:

如果你想这样做,你需要使用POST 而不是GETGET 本质上是将参数放在 URL 中。

【讨论】:

    【解决方案2】:

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

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

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

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

    希望这一切对您有所帮助。

    【讨论】:

    • 感谢您了解,Allen Chak。
    【解决方案3】:

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

    例如:

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

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

    example.com/products/N

    看看这个tutorial

    【讨论】:

      【解决方案4】:

      使用方法 post 代替 get...

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-05-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多