我在1个网站上使用php,js,flash和mysql。
我想使用frameset(或者iframe)进行URL屏蔽。情形:
用户点击链接,使用此网址将他/她引导至我的网页:
www.domain.com/index.php?var1=string1&var2=string2
如何屏蔽网址,以便访问者只能看到www.domain.com/index.php,但实际上有一些变量。我需要变量,但我不希望访问者看到。如何对此进行URL屏蔽? (我不希望得到任何代码,我只想知道url masking方法的逻辑)
PS。我可能不会使用mod_rewrite,因为我不知道如何使用/编写代码。所以请用iframe / frameset方法回答:)
答案 0 :(得分:0)
在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时才有效。
答案 1 :(得分:0)
您可以将这些参数作为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中看到这些参数(尽管可以通过各种工具看到)。