1

假设我有一个推荐 URL http://www.example.com/r?ref=86745348并且我想对访问者完全隐藏 URL 的 r?ref=86745348 部分。

我试过这种方法:

<?php
header("Location: http://www.example.com/r?ref=86745348");
exit;
?>

我已经尝试过像 TinyURL 这样的 url shortners。

我所有的尝试都隐藏了超链接中的 URL,但没有隐藏用户浏览器地址栏中的 URL。

无论我做什么,一旦用户登陆推荐页面,他们就可以看到推荐链接,将其删除,并欺骗我的推荐。

所以我的问题是,如何从地址栏中隐藏推荐链接?

4

6 回答 6

6

你不能。

如果您的商业计划依赖于诱使用户没有意识到您正在收取推荐费,那么您需要退后一步并重新评估您在做什么。

于 2013-01-13T18:03:43.497 回答
1

我同意@duskwuff。这是错误的......但只是为了知识范围。这将起作用。使用以下代码创建一个 HTML 页面并将用户发送到该页面。

<iframe src="http://www.example.com" width="100%" height="1024"></iframe>

想法:使用整页 iframe 在页面 B 中加载页面 A 以隐藏页面 A 的 url

于 2013-01-13T19:04:19.253 回答
0

那么第一个问题必须是 - 谁在监控这些充当推荐的参数?我假设解析参数的不是您的服务器和脚本吗?$_GET['ref']

也许如果服务器“计算”引用实际上使用$_REQUEST参数而不是简单的“可见”参数$_GET,那么您可能可以使用$_POST因此“隐藏”用户的参数。

对新的和改进的搜索进行快速搜索,得到了处理数据重定向的有用答案$_POST

于 2013-01-13T18:06:03.707 回答
0

您尝试实现的逻辑只能在超链接的接收端实现 - 您不能欺骗浏览器访问一个 URL,而是告诉用户他们在另一个 URL,因为这将是一个巨大的安全风险。

如果您链接到的服务以合理的方式实施了推荐跟踪,那么一旦用户登陆他们的网站,就会植入一个 cookie,这样删除查询字符串就不会影响如何跟踪推荐。目标站点甚至可以自己整理 URL,将用户重定向到没有查询字符串的版本,但同样,这是只有他们才能实现的。

如果目标站点的实现方式是删除查询字符串就足以剥夺您的推荐费,那么是他们在抢劫您,而不是用户。

于 2013-01-13T18:11:42.713 回答
0

我们可以做到这一点的一种方法是使用 Broswer 历史设置。以下是在我的解决方案中帮助我的代码片段

<script>
        $(document).ready(function () {
            //Masking the Url
            var loc = window.location;
            var pathName = loc.pathname.substring(0, loc.pathname.lastIndexOf('/') + 1);
            var absolutepath = loc.href.substring(0, loc.href.length - ((loc.pathname + loc.search + loc.hash).length - pathName.length));
            window.history.pushState("Object Or String", "Title", absolutepath);
        });
   </script>
于 2015-10-29T06:33:51.937 回答
0

只需将此代码复制并粘贴到您的 .htaccess 文件中:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

非常简单

于 2017-04-14T07:06:54.533 回答