Маленькое отступление от глобальных и умных слов: оператор endwhile заменяет собой фигурные скобочки 😉
Как это происходит на практике:
Раньше (до того, как узнали о существовании endwhile) мы писали код так:
<!DOCTYPE html> <html> <head> <title>A loop of your own</title> <link type=’text/css’ rel=’stylesheet’ href=’style.css’/> </head> <body> <?php //Add while loop below $f = 0; while ($f < 3) { echo «Hallo».» $f».»<br>»; $f ++; } ?> </body> </html>
<?php//Add while loop below$minimal=0;$maximal=10;while($minimal<$maximal){echo"Hallo"."$minimal"."\n";$minimal++;}
но теперь, озаренные лучами просвещения, и вооруженные endwhile, мы пишем код так:
<!DOCTYPE html> <html> <head> <title>A loop of your own</title> <link type=’text/css’ rel=’stylesheet’ href=’style.css’/> </head> <body> <?php //Add while loop below $f = 0; while ($f < 3): echo «Hallo».» $f».»<br>»; $f ++; endwhile; ?> </body> </html>
<?php//Add while loop below$f=0;while($f<3):echo"Hallo "."$f"."\n";$f++;endwhile;?>
Как видите — разница только в двоеточии, поставленном вместо начальной фигурной скобки, и операторе endwhile, который использован вместо закрывающей фигурной скобки. Все остальное — не меняется. Честно сказать — особой разницы нет, и потому — пользуйтесь методом, который вам удобнее.
Я сторонник свободы доступа к информации. Да, мне несомненно будет неприятно найти свои личные данные где-то в общем доступе — и это одна из граней свободной информации, но вот что бы кто-то решал — могу ли я свободно прочесть что-то вроде «Сопри эту книгу» Эбби Хоффмана (запрещена в Канаде и США), «Моя борьба» Гитлера (тираж контролируется, да и вообще книга крайне редко встречается в свободном доступе), не говоря уже о крайне опасной для подростков «Над пропастью во ржи» Джея Ди Сэлинджера, которую то запрещают, то цензурят, то опять запрещают… Подобная мысль мне просто противна. Равно как и мысль о том, что по велению какого-то надзорного комитета вдруг могут стать недоступными какие-то сайты в Сети.
Вообще вся ситуация с разграничением доступа к сайтам в Интернете, который последние годы преподносится как чудесная мега-кладезь знаний всего человечества (а человечество — оно ведь не только слишком положительное, или слишком отрицательное) все чаще наталкивает на воспоминания о следующих строках: «Да, я преступник. Моё преступление — любопытство. Моё преступление в том, что я сужу людей не по тому, как они выглядят, а по тому, что они говорят и думают. Моё преступление в том, что я намного умнее вас. Это то, что вы мне никогда не простите«. Если интересно — полный текст этого знаменитого «Манифеста хакера» вы найдете по этой ссылке
😉
Так вот … мы не будем разбираться с причинами блокировки. Мы просто попробуем понять, как обойти ее. На самом-то деле все просто, и есть несколько крайне простых методик, благодаря которым можно обломать любой Роскомнадзор. Проверенно Великой Китайской Стеной, да 😉
Сегодняшний вечер мы посвятим ознакомлению с TOR, немного о котором я писал ранее.
Рассмотрим основные вопросы использования TOR-браузера:
1. Как это работает?
С теоретической точки зрения все просто: каждый пакет, отправляемый через TOR-сеть шифруется тремя ключами, после чего отправляется на первый прокси-сервер, выбираемый случайным образом. После захода на первый прокси — снимается первый ключ шифрования, после чего сервер узнает — куда далее отправить пакет. Второй прокси-сервер, получивший пакет, снимает второй слой шифра, после чего узнает адрес третьего прокси-сервера, который в свою очередь после получения многострадального пакета снимает третий слой шифрования, и отправлять на целевой адрес запрос в чистом виде. Обратный трафик идет по аналогичной методике.
Неплохой иллюстрацией всего этого процесса будет следующая картинка:
2. Метод работы
Если не вдаваться углубленно — заходите на ссылку и качайте инсталятор клиента TOR-сети. Запустив инсталятор мы видим меню выбора языка:
выбираем необходимый нам язык и кликаем Ok, после чего получаем возможность выбрать папку для установки клиента. Выбрав нужный вам каталог — запускайте процесс инсталяции (скорость установки зависит от конфигурации системы).
После завершения установки клиента — запускаем его и попадаем в меню начальной настройки клиента:
Интересной особенностью TOR — клиента является возможность настройки его работы на компьютерах, чей трафик жестко контролируется либо вредными админами, либо организациями, предпочитающими решать что-то за кого-то. Эта возможность будет доступна вам по клику на пункт «Настроить» после текста «Интернет-соединение этого компьютера цензурируется или находится за прокси…». Однако (в моей практике) — подобная настройка понадобилась только в Китае — на компьютере, работающим за «Великой китайской стеной». Потому в стандартной ситуации вам хватит обычной работы TOR-клиента, начало которой становится возможным после нажатия кнопки «Соединиться».
Сразу после запуска клиента у вас имеется возможность настроить параметры конфиденциальности: возможность сохранения куков, и прочее (рекомендую оставить данные настройки без изменений). Это не даст вам 100% гарантии анонимности и отсутствия возможности получения данных о ваших перемещениях в Сети при доступе непосредственно к вашему компьютеру (специально для этого есть иные методы, которые будут рассмотрены чуть позже 😉 ), но все же обеспечит определенный комфорт и безопасность.
Что же … Поздравляю 🙂 Ваш клиент готов к работе. Проверить его работоспособность достаточно просто — зайдем на сайт http://myip.ru, позволяющий отследить ваш текущий IP-адрес. В моем случае он показывает следующее:
Если вам интересно увидеть всю цепочку транзитных серверов, через которые идет ваш трафик — кликните на картинку луковицы в левом верхнем углу — так вы сможете не только посмотреть цепочку, но и активировать новую личность (перегрузить цепочку серверов для получения нового IP-адреса, обнулить весь кеш браузера, очистить полученные куки и прочее), или же просто перегрузить цепочку серверов. В моем случае цепочка получается следующей:
— мой компьютер, Франция, Нидерланды, Нидерланды, целевой сайт
А вот какая цепочка и IP — будет после получения «Новой личности»:
— мой компьютер, Франция, Франция, Нидерланды, целевой сайт
Как видите — все просто. Повторюсь — наиболее простые способы сокрытия своего местоположения мы рассмотрим позднее, сейчас же мы просто рассматриваем методы получения доступа к заблокированным по тем или иным причинам сайтам (например — видео или материалы сайта не доступны для демонстрации в какой-либо стране).
Спасибо за внимание 🙂
Понравилась статья? Сделайте репост на свою страницу 🙂
Время идет, вернее даже бежит! И вот так незаметно мы подошли к странному явлению, именуемом loop (петля).
Спешу напомнить, что я просто изучаю PHP, и делюсь уроками и мыслями с вами, потому и изучать мы будем все максимально полно и глубоко.
Итак… У нас имеется пример кода, который с помощью loop выведет все цифры от 1 до 10:
<?phpfor ($i = 0; $i < 10; $i++) {
echo$i;
}
// echoes 0123456789?>
Стало определенной традицией рассматривать код подробнее:
$i = 0; - создали переменную, и задали ее начальное значение
$i < 10 - делаем что-то, пока переменная будет иметь значение меньше 10
$i++ - собственно говорят - именно это и делаем: увеличиваем значение i
{echo$i;} - выводим значение i
Итак, схема описанного выше кода сводится к следующему: начальное значение переменной, до каких границ меняется, по какой причине эта переменная должна меняться (увеличивается или уменьшается), и что делает до тех пор, пока значение переменной не станет ровняться заданной величине.
Задание текущего урока: к имеющемуся коду добавить что-то, что бы сей код начал правильно работать.
<html>
<head>
<title>For Loops</title>
</head>
<body>
<p>
<?php
// Echoes the first five even numbers
___ ($i = 2; $i < 11; $i = $i + 2) ___
echo $i;
___
?>
</p>
</body>
</html>
Учитывая все, что мы с вами обсуждали выше, правильным действием в указанном коде будет: задать начальное for - если нет ДЛЯ - то как же PHP поймет, для чего все это делается - верно?
Смотря на код далее видим: начальное значение переменное ровняется 2, что-то должно продолжаться до тех пор, пока не достигнет 11, а продолжаться это будет с помощью увеличения значения переменной на 2 (это видно в куске $i = $i + 2). Таким образом - основной код закончен, и должен работать. За исключением - что делать, когда выполнена операция в loop: выводить значение переменной $i. Как мы с вами помним - подобные куски кода окружаются фигурными скобками {}.
Итак, окончательная редакция кода выглядит следующим образом:
<html>
<head>
<title>For Loops</title>
</head>
<body>
<p>
<?php
// Echoes the first five even numbers
for ($i = 2; $i < 11; $i = $i + 2) {
echo $i;
}
?>
</p>
</body>
</html>
Эм-м-м-м…. право, не знаю, как и сказать: для языка PHP совершенно параллельно, какие скобочки вы используете для обозачения массива: квадратные или фигурные. И пусть это прозвучит фантастически — код:
Сегодняшний приступ лени не позволил пройти следующий урок по PHP, но … что бы не лениться окончательно, было принято решение самостоятельно разобраться с генерацией случайных чисел и использованием полученного результата в Switch. Звучит кособоко, но на деле все оказалось очень простым: генерируем случайное число в промежутке от 1 до 5: mt_rand (1,5);, и указываем результат как переменную: $a = mt_rand (1,5); где (1,5) пределы генерируемого значения. После этого все идет совершенно просто (смотрим вчерашние уроки с switch — сегодня мы просто дублируем вчерашний код с легкой правкой):
<!DOCTYPE html> <html> <head> </head> <body> <p> <?php $a = mt_rand (1,5); echo «Random: «.$a.»<br>»; switch ($a) { case 0: echo ‘The value is 0’; break; case 1: echo ‘The value is 1’; break; case 2: echo ‘The value is 2’; break; default: echo «The value isn’t 0, 1 or 2»; } ?> </p> </body> </html>
Как видите — основное различие с вчерашним кодом лежит в использовании переменной $a (напоминаю, что значение этой переменной получается посредством сгенерированного случайного числа в заданном диапазоне). После этого программа сравнивает заданные параметры, и использует нужную ветку.
Все.
Есть вопросы? Не стесняйтесь задавать их на почте или в Skype — изучим PHP вместе!