Как зайти в интернет без авторизации

Обновлено: 02.07.2024

Вас не покидает чувство страха и брезгливости при авторизации на любимых сайтах через общедоступные компьютеры? Но как тогда послушать музыку, поделиться с друзьями мыслями и фотками, воспользоваться почтой или совершить видео-звонок, где бы вы ни находились? Выход существует. Необходимо воспользоваться альтернативными сервисами, не требующими регистрации и авторизации. В этом материале мы познакомим вас с полезными онлайн-инструментами, покрывающими большинство потребностей обычного интернет-пользователя без обязательного ввода логинов и паролей.

Передача текста или кода

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

Прослушивание музыки

Большинство сервисов потокового прослушивания музыки требуют предварительной авторизации. Но не Grooveshark. Онлайн-библиотека музыки содержит большую базу треков, доступных для быстрого поиска и легкого проигрывания. Навигация по музыкальным жанрам и исполнителям позволяет сориентироваться среди предоставленного изобилия.

Заключение

Наверное, рассмотренная десятка покрывает абсолютное большинство потребностей рядового интернет-жителя. Каждый из предложенных сервисов имеет свои альтернативы. Если вы знаете о таковых, поделитесь ими в комментариях.

Одна из часто встающих задач при разработке web-проектов — пустить пользователя на сайт без ввода логина и пароля, при этом авторизовав его.

  • уникальным;
  • URL-безопасным;
  • сложно (невозможно) подделываемым;
  • разумной длины.

Очень часто такое решение приходит первым. На самом деле его место в самом конце.

Предлагаю Вашему решение, которые позволяет обойтись «малой кровью» — не требуют работы с БД.

Что делать?

Кроме приведённых выше свойств ключа, на него часто накладываются и другие ограничения. От них, собственно, и приходится плясать.

В самых простых случаях можно обойтись конструкциями вида: sha1($userId. «secret_key»); или sha1($userId. «secret_key». «confirm_code»);

  • для каждого пользователя ключ будет всегда одинаковый;
  • такой ключ всегда будет валидным, его нельзя ограничить по времени;
  • нужно передавать явным образом id пользователя в URL.

Идея проста. В строку мы помещаем необходимые данные, шифруем её своим секретным ключом, приводим к URL-безопасному виду и вставляем в качестве ключа в ссылку, по которой к нам придёт пользователь.

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

  • id пользователя (4 байта);
  • время создания ключа (4 байта);
  • время действия ключа (4 байта);
  • режим (1 байт) — переменная при помощи которой мы можем разделить назначение ключей (восстановление пароля/подтверждение регистрации/просто приглашение);
  • Случайное число (1 байт) — добавляем уникальности;
  • Контрольная сумма (4 байта).

Перейдём к реализации. Я реализовал данное решение в одном классе с двумя статическими методами.

Copy Source | Copy HTML<br/> <?php <br/> <br/> class AuthToken private static $key = "секретный ключ" ;<br/> private static $iv = "должен быть каждый раз случайным, но для данного решения подойдёт просто секретный" ;<br/> <br/> private static function int2char( $int ) $char = "" ;<br/> $hex = sprintf( "%08x" , $int );<br/> for ( $i = 0 ; $i < 4 ; $i ++) $char .= chr(hexdec(substr( $hex , $i * 2 , 2 )));<br/> ><br/> return $char ;<br/> ><br/> <br/> private static function char2int( $char ) $int = 0 ;<br/> $hex = "" ;<br/> for ( $i = 0 ; $i < 4 ; $i ++) $hex .= sprintf( "%02x" , ord( $char < $i >));<br/> ><br/> $int = hexdec( $hex );<br/> return $int ;<br/> ><br/> <br/> public static function create( $id , $expire = 0 , $mode = 0 ) $id = intval( $id );<br/> $expire = intval( $expire );<br/> $mode = intval( $mode );<br/> if ( $id < 0 || $expire < 0 || $mode < 0 ) return null ;<br/> ><br/> <br/> $info = array ();<br/> $info [ "id" ] = $id ;<br/> $info [ "time" ] = time();<br/> $info [ "expire" ] = $expire ;<br/> $info [ "mode" ] = $mode ;<br/> $info [ "rnd" ] = ceil(mt_rand( 0 , 255 ));<br/> $info [ "sum" ] = $info [ "time" ] - $info [ "expire" ] - $info [ "mode" ] - $info [ "rnd" ] - $info [ "id" ];<br/> $info = self::int2char( $info [ "id" ]) . self::int2char( $info [ "time" ]) . self::int2char( $info [ "expire" ]) . chr( $info [ "mode" ]) . chr( $info [ "rnd" ]) . self::int2char( $info [ "sum" ]);<br/> <br/> $token = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5(self:: $key ), $info , MCRYPT_MODE_OFB, md5(self:: $iv ));<br/> $tokenHex = "" ;<br/> $tokenLength = strlen( $token );<br/> for ( $i = 0 ; $i < $tokenLength ; $i ++) $tokenHex .= sprintf( "%02x" , ord( $token < $i >));<br/> ><br/> return $tokenHex ;<br/> ><br/> <br/> public static function check( $tokenHex , $mode = null ) $token = "" ;<br/> $tokenHexLength = strlen( $tokenHex ) / 2 ;<br/> for ( $i = 0 ; $i < $tokenHexLength ; $i ++) $token .= chr(hexdec(substr( $tokenHex , $i * 2 , 2 )));<br/> ><br/> $info = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5(self:: $key ), $token , MCRYPT_MODE_OFB, md5(self:: $iv ));<br/> if (strlen( $info ) == 18 ) $info = array ( "id" => self::char2int(substr( $info , 0 , 4 )), "time" => self::char2int(substr( $info , 4 , 4 )), "expire" => self::char2int(substr( $info , 8 , 4 )), "mode" => ord( $info < 12 >), "rnd" => ord( $info < 13 >), "sum" => self::char2int(substr( $info , 14 , 4 )));<br/> if ( $info [ "sum" ] == $info [ "time" ] - $info [ "expire" ] - $info [ "mode" ] - $info [ "rnd" ] - $info [ "id" ]) if ( $info [ "expire" ] > 0 ) if ( $info [ "expire" ] + $info [ "time" ] < time()) return false ;<br/> ><br/> ><br/> if ( $info [ "mode" ] > 0 ) if ( $mode !== null ) if ( $info [ "mode" ] != $mode ) return false ;<br/> ><br/> ><br/> ><br/> return $info [ "id" ];<br/> > else return false ;<br/> ><br/> > else return false ;<br/> ><br/> ><br/>><br/> <br/> ?> <br/> <br/>


Ключи self::$key и self::$iv, в целях безопасности, лучше хранить отдельно от алгоритма.

(string) AuthToken::create($id, $expire = 0, $mode = 0)
Создаёт ключ.

(mixed) AuthToken::check($tokenHex, $mode = null)
Проверяет валидность ключа. В случае успешной проверки возвращает ID пользователя, иначе логическое FALSE.

Если не указывать $expire и/или $mode — они не будут учитываться при проверке ключа. Если не указывать $mode при проверке — он так же не будет учитываться.

Если ничего не помогает?

Такое решение не подойдёт если нужен одноразовый ключ. Но это можно решить небольшими костылями. Например установка в memchache флага проверки такого ключа в сочетании с ограниченным временем действия ключа дадут нужный результат в большинстве случаев.

Хранение файлов в облаке

Чем File Dropper лучше широко известных MegaUpload и RapidShare? Прежде всего, отсутствием раздражающих таймеров обратного отсчета перед скачиванием файла. Ссылка не скрыта под огромным количеством рекламных баннеров. File Dropper предлагает простой хостинг файлов для легкого и быстрого использования. Объем разгружаемого файла ограничен весьма впечатляющими 5 Гб. Файлы хранятся до тех пор, пока их загружают хотя бы один раз в течение 30 дней.

Переписка

В поисках приватной комнаты для общения? Смело заходите на ChatStep. Создание защищенного пространства происходит в пару кликов. Все отправляемые данные шифруются в браузере до перекачки по каналам интернета. Никогда шпионам не было так просто чатиться.

Совет, как можно быстро подключиться к незакрытой публичной Wi-Fi-сети.


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

Большинство из этих общедоступных сетей Wi-Fi требуют, чтобы пользователи авторизовались с помощью мобильного телефона или электронной почты, соглашаясь с ограничениями использования доступа в Интернет, а также подтверждали свою личность. Часто это утомительный процесс. Но еще хуже, когда эти страницы входа в систему не отображаются автоматически. В итоге, подключившись к какой-нибудь сети, вы не сможете выйти в Интернет, пока не авторизуетесь. Но как быть, если автоматически не появляется форма/страница авторизации публичной Сети?

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

Перезагрузите ваше устройство или сбросьте настройки Wi-Fi

Первое и самое простое – это перезагрузить ваше устройство. Если вы не хотите делать полный перезапуск, вам может помочь простое включение и выключение Wi-Fi на вашем устройстве. После того как вы полностью перезапустили смартфон или планшет (или включили и выключили Wi-Fi), попробуйте снова подключиться к беспроводной сети и открыть какой-нибудь веб-сайт, чтобы начать процесс входа в систему.

Если ни один из вышеперечисленных способов не работает, выполните следующие действия в своем устройстве и повторите попытку:

Авторизация без авторизации: не собираем персональные данные


В эпоху тотального слива данных интернет-гигантами и уголовного преследования в цифровой среде пользователи боятся оставлять какую-либо информацию о себе. Тем более, если речь идет о VPN-сервисе, где вводить свои персональные данные пользователь не хочет даже при регистрации, а обеспечивать доступ к сервису на различных платформах нужно быстро и без лишней информации. Мы создавали наш сервис GuruVPN под девизом “народный VPN”, поэтому было очень важно сделать максимально простой и анонимный способ установки и верификации пользователей.

В этой статье хотим поделиться нашим опытом реализации системы авторизации пользователя на различных платформах. Это уникальное решение позволило нам не собирать и не хранить персональные данные пользователей. Совсем.

Предыстория

На первом этапе нашей командой было решено, что приложение будет иметь классическую систему авторизации/регистрации: Email или телефон, дабы пользователь мог оформить и оплатить подписку с одного устройства и активировать доступ на всех девайсах.

Выбрали формат, начали писать документацию, но в какой-то момент встал вопрос: как объединить данные подписок в App Store и Google Play, чтобы была возможность синхронизировать их на обеих платформах? Причем сделать это так, чтобы установить общих срок подписки, да к тому же на выходе система не противоречила нашему позиционированию “не собирать данные о пользователе”.

Поэтому мы начали разрабатывать систему, которая соответствовала бы следующим пунктам:

  • не собирала и не хранила персональные данные юзеров
  • позволила реализовать идею auto-renewable subscription на мультиплатформенной основе

Авторизация

В чем секрет такого решения?

Пользователю нужно установить приложение на свой смартфон, безопасно и быстро оплатить подписку, и с помощью QR-кода в одно действие авторизовать ее на другом устройстве. Без учетных данных, логина и повторной покупки доступа.

Как это работает у пользователя
  • После загрузки программы на десктопе появится экран авторизации, в котором отображается QR-код.
  • Загружаешь и запускаешь мобильное приложение из App Store/Google Play с in-app подпиской
  • Сканируешь или вводишь код авторизации в мобильном приложении
  • После успешной авторизации ждешь загрузки экрана управления соединением
  • Выбрать страну для подключения и нажимаешь «Подключить»
  • После получения разрешений произойдет VPN-соединения будет установлено
Как это работает в действительности


  1. При первичной авторизации десктопное приложение запрашивает временный токен;
  2. В базе автоматически генерируется временный токен и отдаётся декстопному приложению. Для максимальной безопасности данных время жизни нашего токена — 15 минут;
  3. Десктопное приложение выводит на главный экран QR-код и токен в открытом виде для мобильного приложения;
  4. Мобильное приложение сканирует QR-код и распознает введенный вручную пользователем код и отправляет его в API-запрос на генерацию подтверждения устройства юзера;
  5. Десктопное приложение запрашивает разрешение у сервера юзера, к которому привязан токен, если привязка существует — API без проблем отдает id и токен для авторизации.
Как это работает в магазине мобильных приложений. Например, в App Store

На самом процессе внедрения in-app покупок подробно останавливаться не будем, на Хабре о ней уже много писали.

На первом этапе происходит проверка квитанции и статуса подписки на сервере, проверяются параметры запроса. При успешной проверке в приложение возвращается статус подписки и токен сессии.

Видео-звонки

Бесплатная видео-конференция из восьми человек? Да, это возможно. Достаточно создать комнату для общения, поделиться ссылкой со своими друзьями, и начать общаться онлайн. Appear.in объединяет людей из разнообразных социальных сетей в одном месте. Видео-общение доступно для Chrome, Firefox, Opera. Данные защищены и не сохраняются на серверах сервиса.

Обмен видео

Легкий, быстрый, анонимный шаринг видео в сети доступен не только через веб-интерфейс, но и мобильные приложения для iOS и Android. Более близко познакомиться с сервисом вы можете в детальном обзоре Лайфхакера.

Использование электронной почты

Обмен изображениями

Фото-хостинг позволяет расшарить картинки четырьмя удобными способами: загрузкой с жесткого диска, перетаскиванием мышью, указанием веб-ссылки, а также вставкой из буфера обмена. Вы можете делиться не только отдельными снимками, но и целыми альбомами. Сервис полностью бесплатен.

Как найти страницу входа на общедоступном Wi-Fi: лайфхак

Укорачивание ссылок

Мы привыкли делиться интересными ссылками со своими друзьями в социальных сетях или с коллегами по электронной почте. Если в Facebook длиннющая ссылка выглядит просто нелепо, то в Twitter она может попросту не уместиться. На выручку приходят сервисы сжатия длины ссылок. Почему is.gd? Он легок и прост. Ко всему прочему, вы можете поместить специальный скрипт на панель закладок и в один клик сокращать ссылку текущей страницы браузера.

Конвертирование файлов

Может ли один сервис поддерживать более тысячи различных преобразований файлов? Да, имя этого онлайн-монстра — Zamzar. С 2006 года онлайн-инструмент предоставляет услуги простого конвертирования файлов. Достаточно выбрать несколько файлов объемом до 100 Мб, указать формат на выходе, и Zamzar отправит ссылку на скачивание на указанный вами адрес электронной почты.

Читайте также: