我想检测view-source:并给它添加不同的html。我试过用这个,但它不起作用
$url= $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$needle = "view-source:";
if (strpos($url,$needle)) { echo "You can not see me";
}
else {}发布于 2017-08-02 00:49:55
这根本是不可能的。view-source:只是一个浏览器添加到URI-scheme的URL,它知道他必须在这个特定窗口中执行哪个操作。此部分不会被发送到won服务器以加载此特定站点。
发布于 2019-06-19 05:59:22
这不是“严格意义上的可能”,但根据情况,有办法阻止它-无论你读了多少次“不可能”。
如果你正在使用一个页面作为$_SERVER['HTTP_REFERER'],你可以通过使用passoff来阻止源码的查看。
示例:page1.php将数据发布到page2.php,这会秘密地添加更多要发布的数据,并使用javascript将page2.php自动复制到page3.php。
在这种情况下,您可以通过执行以下操作来隐藏page2.php的来源:
if($_SERVER['HTTP_REFERER'] != 'https://yourwebsite.ccom/page1.php') {
} else {
//add your form and javascript code to auto post
}这样做,如果用户快速尝试停止浏览器并查看源代码,他们将看到空的源代码。即使他们“转载”表单数据,他们也看不到html源。
当然,这不会阻止他们通过元素检查器查看它。
然后,您可以添加一些js来阻止对F12的访问,例如:
$(document).keydown(function(e){
if(e.which === 123){
return false;
}
});并使用如下命令禁用右击和快捷键
<body oncontextmenu="return false" onkeydown="return false;" onmousedown="return false;">但是,用户仍然可以禁用javascript、使用插件或其他几种方法进行检查。这就是为什么我说“完全不可能”的原因。
https://stackoverflow.com/questions/45443326
复制相似问题