如何在HTML源代码中隐藏iframe的URL?
<iframe src="http://mysite.com" frameborder="0" scrolling="no" width="728" height="90"></iframe>
如何在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);
});
等等,解决方案很多,这只是其中之一。
我决定采用不使用JavaScript的解决方案,因为大多数情况下可以读取“隐藏”的内容。
此外,使用JavaScript更改iframe SRC时,在检查源代码时会保持URL隐藏。但是,检查代码将显示真实的URL。
我的代码是用PHP编写的;然而,我相信这个逻辑可以翻译成其他编程语言。它是如何工作的:
我将iframe标记保留为通常的形式:
<iframe src="dash_url.php"></iframe>
<?
$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";
}
?>
无法完全阻止源代码查看。但有几种方法可以禁用右键点击:
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