在學校中,網站上有塊。我打算取消這一點。即使我不這樣做,我也喜歡這個主意。所以:我有一個PHP頁面(source.php)來獲取任何網站的源代碼(沒有跨站點AJAX)。使用php重新創建網站
<?php
echo file_get_contents(urldecode($_GET["url"]));
?>
<script>
if(document.getElementsByTagName("base")[0])
document.getElementsByTagName("base")[0].href="<?php echo $_GET["url"] ?>";
else
document.head.appendChild(document.createElement("base").href="<?php
echo $_GET["url"] ?>");
</script>
簡單。這裏是index.html的
<html><head><title>Unblocker</title></head><body>
<div width="100%" height="10%">
<form onsubmit="return go()">
<input id="url" value="http://www.google.com/">
<input type="submit" value="Go">
</form>
</div>
<div width="100%" height="90%">
<iframe src="http://www.google.com/" width="100%" height="100%" id="frame">
</iframe>
</div></body></html>
現在的JavaScript(被插入頭部標籤)
function go(){
url=document.getElementById("url").value;
frame=document.getElementById("frame");
//do some url validations, not posting cause doesn't matter
if(url.isValid)//example
frame.contentWindow.location=location.protocol+"//"+location.hostname+"/
source.php?url="+url;
return false;//to prevent page reload
}
幾件事情:首先,這是合法的,同時整個源代碼,並顯示他們儘管我的意圖好?此外,它會工作,還是有什麼明顯的,可以使它更好?我知道服務器端不能被過濾(假設這個站點沒有被阻止!)。我知道這是非常有限的,但我可能能夠擴大它,以允許點擊鏈接和所有。
爲什麼不只是使用代理服務去查看網站? – Nick 2012-01-27 09:56:36
這是你需要用編碼實現的東西嗎?你不只是使用公共代理服務器,只是配置瀏覽器使用它? http://www.publicproxyservers.com/ – 2012-01-27 09:57:55
你真的對合法性感到困擾,因爲你說你的整個目的是爲了規避某人的規則? – DaveRandom 2012-01-27 10:04:01