Воссоздание сайтов с помощью php - PullRequest
0 голосов
/ 27 января 2012

В школе есть блоки на сайтах.Я намерен отменить это.Даже если я этого не сделаю, мне нравится эта идея.Итак: у меня есть 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
}

Несколько вещей: во-первых, это законно, принимая всеисходники и отображение их, несмотря на мои добрые намерения?Кроме того, это будет работать, или есть что-то очевидное, что может сделать его лучше?Я знаю, что серверная сторона не может быть отфильтрована (при условии, что этот сайт не заблокирован!).Я знаю, что он очень ограничен, но я мог бы расширить его, чтобы разрешить переход по ссылкам и все.

Ответы [ 3 ]

1 голос
/ 27 января 2012

Вы намереваетесь написать прокси.Я думаю, что вы должны просто использовать http://www.phpproxy.net или искать прокси-программное обеспечение и установить его на свой сервер.

ИЛИ вы можете продолжить и сделать это.Вы можете получить продукт и многое узнаете о протоколе HTTP и создании прокси.Конечно, больше, чем вы можете изучать в школе.

Прокси не являются незаконными, но это, вероятно, противоречит вашим школьным правилам, если они где-то записали эти правила, и они не забыли о прокси.:)

0 голосов
/ 27 января 2012

Хорошая идея.Похоже, вы просто хотите прокси-сервер, хотя.

Вы действительно думаете, что ФБР постучится в вашу дверь, если они узнают, что ваш PHP-сервер получает HTML?точно нет.Серверы везде делают это каждый день, например googlebot.Я бы сказал, что вы в чистоте.

0 голосов
/ 27 января 2012

Это законно?Конечно, вы просматриваете интерпретированный исходный код на каждой странице, на которую заходите.Это не значит, что ваша школа не будет пороть вас за обход своего брандмауэра.

Будет ли это работать?И да и нет.Вы получите исходный код, но, скорее всего, если вы просматриваете заблокированный домен, вы не сможете просматривать изображения.Ваш file_get_contents захватывает HTML и ссылки для картинок.Чтобы получить фотографии и заменить ссылки, ваш PHP-скрипт должен быть несколько сложным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...