【问题标题】:how to do a URL masking in this condition?在这种情况下如何进行 URL 屏蔽?
【发布时间】:2009-09-03 05:46:57
【问题描述】:

我在 1 个网站上使用 php、js、flash 和 mysql。

我想使用框架集(或者 iframe)进行 URL 屏蔽。场景:

用户点击一个链接,该链接会将他/她引导至我的页面,并使用此网址:

www.domain.com/index.php?var1=string1&var2=string2

如何屏蔽url,使访问者只能看到www.domain.com/index.php,但实际上那里有一些变量。我需要变量,但我不希望访问者看到。如何对此进行 URL 屏蔽? (我不期望得到任何代码,我只是想知道url掩码方法的逻辑)

PS。我可能不会使用 mod_rewrite,因为我不知道如何使用/编写代码。所以请用 iframe/frameset 方法回答:)

【问题讨论】:

  • 请编辑您的第一个问题 (stackoverflow.com/questions/1371437/url-masking-in-php),而不是重新提出相同的问题。
  • 虽然这几乎是同一个问题,但这个问题更具体一些,并且已经接受了另一个答案。我认为在这种情况下打开一个新的是可以的。
  • mod_rewrite 并不难。你试过用谷歌搜索文章吗?

标签: php iframe url-rewriting frameset


【解决方案1】:

编辑:我想我误解了你的问题,所以这是另一个尝试:

www.yourdomain.com/index.php:

<?php

session_start();

if (isset($_REQUEST['flashvar']) && ! isset($_SESSION['flashvar'])) {

    // Store any parameters received
    $_SESSION['flashvar'] = $_REQUEST['flashvar'];

    // Redirecting without query parameters
    header('Location: /index.php');
    exit;
}
?>
<HTML>
<HEAD></HEAD>
<BODY>
<?php
  echo '<embed src="player.swf?flashvar=',
       urlencode($_SESSION['flashvar']), '"/>';
?>
</BODY>
</HTML>

此示例将启动会话并将用户重定向到自身,而无需在查询字符串中存储任何参数。当然,只有当用户启用了 cookie 时它才会起作用。

【讨论】:

    【解决方案2】:

    您可以将该参数作为 POST 数据提交吗?

    例如:

    <form name="form1" action="index.php" method="POST">
        <input type="hidden" name="var1" value="value1" />
        <input type="hidden" name="var2" value="value2" />
    </form>
    
    <a href="#" onclick="document.form1.submit()">Click me</a>
    

    当用户点击链接时,表单将被提交到 index.php,POST 参数为 var1 和 var2。用户永远不会在其 URL 中看到此参数(但仍然可以使用各种工具查看)。

    【讨论】:

    • 我的情况不是这样的。用户单击其他网站 www.xyz.com 上的图像(我无法编写 html
      ),然后带着参数来到我的网站 www.abc.com/var1=a&var2=b... 从那个参数,我需要使用flash获取变量并提交到另一个页面。嗯,是的,它非常复杂
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-27
    • 1970-01-01
    • 2018-01-25
    • 2013-02-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多