1。 主要功能
确定。第一个主要功能是:
function url( $atts, $content = null ) {
return '<a href="/url/?iframe='.$content.'" target="_blank">'.$content.'</a>';
}
add_shortcode("url", "url");
我使用: [网址] https://stackoverflow.com/[/url]
它返回:
<a href="/url/?link=https://stackoverflow.com/" target="_blank">https://stackoverflow.com/</a>
2。 协议功能
单击时,会向用户发送协议以继续:
function url_proceed( $atts, $content = null ) {
$url = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$url = str_replace('url', 'url.php', $url);
return '<a href="'.$url.'">Proceed</a>';
}
add_shortcode("url_proceed", "url_proceed");
这个短代码放在名称和标签的页面上: url ,正如函数所示。
这会将用户发送到最终目的地:
<a href="/url.php/?iframe=https://stackoverflow.com/" target="_blank">Proceed</a>
3。 最终目的地
url.php 位于root中,内容为:
<iframe src="<?php echo $_GET['iframe']; ?>" width="100%" height="100%" frameborder="0" scrolling="yes"></iframe>
4. 地址栏
在地址栏的所有步骤中,我都有?iframe=https://stackoverflow.com/
http://domain.com/url.php/?iframe=https://stackoverflow.com/
在地址栏中,我希望此?iframe=https://stackoverflow.com/
与此?iframe=encrypted/obfuscated
类似,或删除它,但仍然可以$_GET
如果有人知道解决方案,我会感激不尽。
我知道inspect元素仍然会显示iframe的来源,但是如果没有显示这个持有者,它看起来会更好。
答案 0 :(得分:0)
您可以使用Base64编码:
URL:
?iframe=aHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tLw==
然后解码:
并在接收解码参数的页面上