В школе есть блоки на сайтах.Я намерен отменить это.Даже если я этого не сделаю, мне нравится эта идея.Итак: у меня есть php-страница (source.php) для получения исходного кода любого сайта (без межсайтового ajax).
<?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>
Simple.Вот 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 (для вставки в тег head)
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
}
Несколько вещей: во-первых, это законно, принимая всеисходники и отображение их, несмотря на мои добрые намерения?Кроме того, это будет работать, или есть что-то очевидное, что может сделать его лучше?Я знаю, что серверная сторона не может быть отфильтрована (при условии, что этот сайт не заблокирован!).Я знаю, что он очень ограничен, но я мог бы расширить его, чтобы разрешить переход по ссылкам и все.