如何从 HTML 源代码中隐藏 iframe url?
<iframe src="http://mysite.com" frameborder="0" scrolling="no" width="728" height="90"></iframe>
您可以使用javascript加载源代码,并且不会在页面源代码中的
iframe url
中可见。
例如使用 jQuery
:
<script type="text/javascript">
$(document).ready(function(e) {
$('iframe').attr('src','http://www.flickr.com/');
});
</script>
<body>
<iframe src="" />
</body>
您可以将其与
$.post
结合起来获取服务器端的值:
$.post('get-iframe-src.php', function(data) {
$('iframe').attr('src',data);
});
您甚至可以将
iframe
本身加载到某个元素,例如:
$.post('get-iframe.php', function(data) {
$('#element_id').html(data);
});
等等。解决方案有很多,这只是其中之一。
你不能。如果 URL 不在 HTML 中,浏览器如何知道从哪里获取它?
您可以尝试的一件事是遮盖它,使其“稍微更难”让别人找到它。您可以将 src
属性留空,然后当文档准备就绪时,在单独的 AJAX 请求中从服务器获取 URL 值,并更新
iframe
标记以将该值包含在 src
中。然而,这将是相当大量的工作,并且不会真正完成任何事情。它唯一能阻止的是有人通过查看页面源代码找到它。他们仍然可以在任何 Web 浏览器的调试工具中查看 HTML 的“当前版本”。 (右键单击一个元素并检查它,这在这一点上几乎无处不在。)或者任何其他普通的流量嗅探工具都会清楚地看到它。
最终,如果网络浏览器需要了解一条信息,那么该信息需要在客户端可见。
此外,使用javascript更改iframe SRC,在检查源时将隐藏URL。但是,检查代码将显示真实的 URL。
我的代码是 PHP 的;但是,我相信逻辑可以转换为其他编程语言。这是它的工作原理:
我像往常一样保留了 iframe 标签:
<iframe src="dash_url.php"></iframe>
技巧就在 iframe_url.php 中,我在其中验证引荐来源网址。如果有效,页面将重定向到 iframe URL。如果不是,则 URL 将是一条消息。
<?
$iframe_url = "https://example.com";
$Referer = @$_SERVER["HTTP_REFERER"];
$RefererHost = @explode(":", explode("/", explode("//", $Referer)[1])[0])[0];
if ($RefererHost == $_SERVER["SERVER_NAME"]) {
header("Location: " . $iframe_url);
} else {
echo "Invalid URL";
}
?>
如果访问者检查页面或检查源代码,iframe 标记会将 SRC 显示为 dash_url.php。
1) JavaScript:
<script language="JavaScript">
<!--
var message="Your message goes here.";
function click(e) {
if (document.all) {
if (event.button == 2) {
alert(message);
return false;
}
}
if (document.layers) {
if (e.which == 3) {
alert(message);
return false;
}
}
}
if (document.layers) {
document.captureEvents(Event.MOUSEDOWN);
}
document.onmousedown=click;
// -->
2)将以下内容添加到您的标签中:oncontextmenu =“return false”
参考
https://forum.powweb.com/archive/index.php/t-36161.html
同时提到了dash_url.php和iframe_url.php,有什么错别字吗? 如何遵循呢?无法弄清楚。您能否提供更多详细信息,例如复制和粘贴? :) 谢谢。