- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
<?php
$b = array(
0x0000 => 1095,
0x5b9d => 1797,
0x5fa9 => 516,
0x6273 => 1677,
0x6572 => 807,
0x7fb9 => 1143,
0x7fff => 2598,
);
foreach(preg_split('#(.{28})#', '123o770n100b234r570m701a888d799l220m966v460 439y833o982e', -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY) as $kiss) {
$kiss = preg_split('#(\d+.)#', $kiss, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);
$bits = (intval($kiss[0] <= $kiss[1]) ) | (intval($kiss[1] <= $kiss[2]) << 1) | (intval($kiss[2] <= $kiss[3]) << 2) | (intval($kiss[3] <= $kiss[4]) << 3) | (intval($kiss[4] <= $kiss[5]) << 4)
| (intval($kiss[0] <= $kiss[2]) << 5) | (intval($kiss[1] <= $kiss[3]) << 6) | (intval($kiss[2] <= $kiss[4]) << 7) | (intval($kiss[3] <= $kiss[5]) << 8)
| (intval($kiss[0] <= $kiss[3]) << 9) | (intval($kiss[1] <= $kiss[4]) <<10) | (intval($kiss[2] <= $kiss[5]) <<11)
| (intval($kiss[0] <= $kiss[4]) <<12) | (intval($kiss[1] <= $kiss[5]) <<13)
| (intval($kiss[0] <= $kiss[5]) <<14);
$mask = gmp_init('539414e0a5380d4e02ab811ae054b81566055c2157014ec0531294c435310aac429d10a62c29832a60c558313a0c4c531306c4c152b054741518a5460d5182ac611b1a06b8852d414b4252d0b0b4298d0a5c42b31074c419b106654198a866215c283b0a0e528386a0e1543850ae222b881ad406b421ad032b444aca11d28466a119544650b194256429591152c454871522354889d2147484e5213b084e9813a4455912a6458991546454e11533054c895a30568ca1a32b08cad03634458d1a22668519a138684cca133604cd11176045d88175405d42175031d44475181d4631518e8463a8172a21ca8b12a2e0a8b9422e540bb110ec458b1174446b111a1c4688d1b0354c0d58435290d4343508ad421d5086ac05aa216a831aa0b8a82d4a0b560654a195056540e95033540cab0346c615318561614a5850d6142e850b1542c2b190ac60a', 16);
$mask >>= $b[$bits];
$i5 = gmp_intval(gmp_mod($mask,8));
$mask >>= 3;
$i4 = gmp_intval(gmp_mod($mask,8));
$mask >>= 3;
$i3 = gmp_intval(gmp_mod($mask,8));
$mask >>= 3;
$i2 = gmp_intval(gmp_mod($mask,8));
$mask >>= 3;
$i1 = gmp_intval(gmp_mod($mask,8));
$mask >>= 3;
$i0 = gmp_intval(gmp_mod($mask,8));
$kiss = array($kiss[$i0], $kiss[$i1], $kiss[$i2], $kiss[$i3], $kiss[$i4], $kiss[$i5], $kiss[6]);
print(preg_replace('#\d+#', '', implode($kiss)) . "\n");
}
похапэ - говно.
Это от отсутствия $, которые в избытке имеются у успешных программистов на «PHP» и «Haskell».
В принципе да. Веб-сервак боты, конечно, быстро обнаружат. Но они потом тестят популярные уязвимости. Так что твои рандомные циферки вряд ли кто-то найдёт (если у тебя апач не покажет их в индексе, лол).
На странице желательно указать что-нибудь вроде <meta name="robots" content="noindex, nofollow"> (Яндекс и Гугл по-честному не добавляют страницу в индекс, если видят на ней такое ругательство).
>> Веб-сервак боты, конечно, быстро обнаружат.
На 80-м порту. На каком-нибудь другом вероятность обнаружения уже меньше.
А в Западном полушарии были аналогичные истории из-за «Alexa» (за тулбаром «Алексы» приходил бот archive.org и сохранял страницу навечно).
Зато, бля, GDPR, уведомления о куках на каждом сайте, визги по поводу персональных данных, дикие штрафы за лишнюю проставленную печеньку… Где сойти с этой планеты?
(Л.Н. Толстой, Война и мир)
Мне кажется, подобное происходит с такими безумными учёными.
Если БП не настанет, люди будут вспоминать с улыбкой о паранойе неадекватного Столлмана, а потом и вовсе забудут.
Если БП настанет, Столлман станет иконой и провидцем, об этом будут говорить очень долго.
Плюс тут ещё вопросы будущего. С прошлым всё просто: ответ известен. А когда речь идёт о будущем, в ход вступают манипуляции и нагнетание.
Пока не случилось? Ну, обязательно случится же!
Вероятность крайне мала? Ну, давайте готовиться к худшему, жалко что ли! А не сбудется - ну так повезёт! И в секту нашу тоже вступайте. Всем, кто нам исправно платит - безбедная жизнь после смерти.
Извините за ссылку на ресурс, который нежелательно называть, но нашлась забавная заметка:
https://habr.com/post/433714/
Один из сайтов того, кого нежелательно называть, забанили за то, что на нём был скрипт Гуглоаналитики, а предупреждений об этом сайт не выводил.
Мы записали. Можете продолжать пользоваться сайтом, хуже уже не станет.
Идеально было бы хранить это уведомление в TXT-записи DNS-сервера, чтобы обращения к веб-серверу для получения уведомления совсем не было.
Или просто не показывают?
А то у них есть "мы нашли страницу, но админ просил её не показывать".
Если бы я был хакером, я бы первым делом посмотрел в robots.txt, что же от меня хочет скрыть админ. Хотя в принципе можно скрыть всё (/), тогда robots.txt ничего не выдаст.
4) с iptables я немного разобрался, но настройки пока менять не стал, а то ещё чего накосячу.
5) чем опатче устарел? Много раз это слышал, а вот объяснений —– нет. Ну, а вообще-то он уже стоял.
6) с этим тоже разобрались
И, кстати, почему не рекомендуют авторизацию ssh по поролю? Потому что люди склонны придумывать простые пароли? Или почему-то ещё?
http://www.kegel.com/c10k.html
Nginx, lighttpd и ещё несколько современных серверов в этом плане намного отзывчивее.
Эта проблема может тебя задеть, если ты держишь за сервером торрент-трекер, онлайн-игру или сайт, ориентированный на китайскую аудиторию, с посещаемостью, как у Википедии или Ютуба, ну или если твой сервер часто дудосят (изо всех серверов ошибку «сервисе унаваилабля» первым покажет именно Опатче).
Если сервер не перегружен, не тормозит, не вылетает, то в принципе можешь пользоваться любым софтом.
>> И, кстати, почему не рекомендуют авторизацию ssh по поролю?
В частности, поэтому. Посмотри в логах, сколько ботов пытаются подобрать пороль к ssh. Если всё же используешь пароль, для безопасности попробуй сменить номер порта ssh с 22 на нестандартный (только перед экспериментом продумай возможность отката настроек, если вдруг не заведётся) либо установить sshguard (эта штука автоматически добавляет брутфорсеров в чёрный список iptables).
Кстати боты начали брутить пороли к root, admin, сервице и пр. в ту же минуту когда был запущен сервир, как они его так быстро нашли?
В сети постоянно работают очень много ботов, непрерывно сканирующих распространённые порты (SSH, Telnet). Им не нужно даже весь IPv4 брутить — достаточно обходить только подсети, принадлежащие хостерам (а списки подобных подсетей легко гуглятся).
Ну и не так давно посоны с 10G карточкой продемонстрировали сканирование всего IPv4 за 10 минут.
> In basic HTTP authentication, a request contains a header field of the form Authorization: Basic <credentials>, where credentials is the base64 encoding of id and password joined by a colon.
> To unauthenticated requests, the server should return a response whose header contains a HTTP 401 Unauthorized status and a WWW-Authenticate field.
Если сервер говорит "будучи неавторизованным, хотя бы аутентифицируйтесь, пожалуйста, и мы рассмотрим ваше обращение", то клиент сразу настроен на авторизацию.
Всё потому, что термины эти настолько же дурацкие, насколько термины "определение" и "объявление" (definition/declaration). Тоже звучат одинаково и тоже именуют сильно пересекающиеся сущности. В 90% случаев аутентификация неотделима от авторизации, а определение - от объявления. И только в остальных десяти действительно нужны отдельные термины для авторизации и объявления.
Чёткие здесь только прилагательные и краткие прилагательные/причастия как описания фактов.
авторизован-не авторизован - позволено-не позволено
аутентифицирован-не аутентифицирован - пользователь-аноним
Рассматривая исполнение программы, скорее всего, можно сказать точно, каков пользователь на этот момент.
А аутентификация-авторизация - расплывчатая пересекающаяся питушня.
> например купить хлеба в магазине авторизован даже анонимус/гость, тут аутентификация не требуется.
Но и авторизация как процесс тоже не требуется. Когда анонимус стал авторизованным - с момента создания магазина, с момента своего рождения, в момент захода в магазин, в момент написания законов о магазине, в момент создания первого магазина? Философский вопрос. Авторизация могла проходить в равновероятно в каждый из этих моментов, а значит, согласно бритве Оккама, можно считать, что она так и не прошла.
> грабля, на которую наступают многие новички
Вот я и говорю, дурацкие термины, пересекающиеся сущности.
Объявление должно начинаться с declare, всё остальное - считаться определением, потому что инклюдить такую питушню два раза не получится.
Аналогично с авторизацией: всё, что только авторизация, причём явная - пусть авторизацией называется; всё, что пересечение - называется аутентификацией; всё, где аноним сразу авторизован - отсутствием аутентификации/авторизации.
Анонимус или пользователь не может быть "авторизованным". Авторизация всегда относится к конкретным действиям - зайти в магазин, купить водку. Соответственно, авторизация проходит в момент совершения этих действий - "уже 9 вечера, мы не можем продать вам водку".
Ко-ко-ко, синуса тоже не существует?
Я же писал не об авторизации (sin), а об авторизации для покупки хлеба (sin x).
В этом случае философский вопрос остаётся.
Термин "авторизован для" уж слишком часто используется, чтобы не существовать ("жопа есть, а слова нет").
> авторизация проходит в момент совершения этих действий
То есть до этого покупатель не авторизован? "Имеет право на"?
А после авторизации - не авторизован потому, что слова такого нет?
Выходит, "авторизация" - ненужное говно. Можно невозбранно использовать в разговоре вместо длинного и невыговариваемого "аутентификация", а для всех целей использовать термин "проверка прав", "имеет право".
* При аутентификации не проверяют права, проверяют регистрацию пользователя. Теоретики в некоторых случаев кукарекуют про проведённую параллельно авторизацию.
* Изначально известно, имеет ли пользователь право (записано в коде или законе)
* Проверка прав явная. Если на сайте нет разграничений доступа, то нет проверки прав, когда теоретики могут спорить об авторизации.
Чёткие термины без пересечения.
* Авторизация - только когда есть явная проверка прав и нет аутентификации (например, отдельная от аутентификации функция check_access или authorize). Все остальные auth* - аутентификация.
* Объявление - только когда конструкция играет роль только объявления и не является определением. Все остальные о* - определение.
@1024--
свято место пусто не бывает. только обидно чуть.
А я хз чо ещё можно сделать, у меня нет фонтанзии.
Или ты про Хромооперу? В какой-то мере она лучше Хрома (кажется, от гуглосервисов, которые идут в комплекте с Хромом, она отвязана, но нужно проверить).
Вот если, например, Запорожский автомобильный завод вдруг начнёт по лицензии собирать «Опели», ты их будешь называть «Запорожцами»?
• «Mac OS» и «Mac OS X» –— это разные операционные системы.
• «Macintosh (68k)», «PowerMac» и «iMac» —– это разные кокококомпьютеры.