логин: 
<< предыдущая заметкаследующая заметка >>
25 ноября 2012
Авторизация с secret_link

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

Но сегодня не об этом. Задолбался я показывать рекламодателям и прочим незалогиненным людям скрытые записи. Выглядело это так: «пожалуйста оставьте любой комментарий у меня в дневнике, из которого я бы понял, что вы — это вы, и я смогу вам включить подзамочный доступ, а пост я сделаю под замком, и тогда вы его сможете посмотреть...» Посторонних людей это вводило в полный ступор.

Теперь я в админской панели добавил «секретная ссылка», которая формирует ссылку на эту страницу с неким кодом, по которому эту страницу сможет открыть любой обладатель ссылки, будь она подзамочная или даже совсем скрытая. Код имеет дату истечения — хоть на несколько секунд, хоть на десять лет. Интерфейс выглядит примерно так:

На картинке реальный пример — доступ до 1 декабря к старой и закрытой записи моего дневника с воплем души о случаях, творящихся в сценарной области :)

<< предыдущая заметка следующая заметка >>
пожаловаться на эту публикацию администрации портала
архив понравившихся мне ссылок
Оставить комментарий
Linux Firefox
 Пенза
0
0
Ссылка для тех, кому в лом набирать: [skip]
Надеюсь, я не сорвал эксперимент по выяснению количества неленивых читателей.
Linux Firefox
 Москва
0
0
Leonid Kaganov
Сорвал конечно :))) А по какой причине, ты думаешь, я сам эту ссылку не опубликовал? ;)
Linux Firefox
 Пенза
1
0
М-м. Ну мало ли. У меня тут есть несколько веpсий:

1. Забыл.
2. Хотел новые шpифты показать.
3. Решил выяснить количество читателей, которым не в лом набрать ссылку.
4. Решил выяснить количество читателей, которые после прохода по ссылке запостят её в комментарии.
5. Решил выяснить количество читателей, которые для опознания воспользуются OCR и будут называть идиотами всех, кто сделал иначе.
6. Решил, что читать данный пост достойны только те, кто готов потратить немного времени на то, чтобы до него добраться.
7. Решил закрыть ссылку от поисковиков (attention, Яндекс.Баp наверняка всё равно всех сдал).
8. Решил выяснить, нет ли такого поисковика, который считывает ссылки даже с картинок.
9. Решил вычислить всех, кто сливает подзамочные тексты, и жестоко их покарать (каждый читатель получает свой вариант текста с незначительными отличиями, по которым позднее можно будет установить номеp личной карточки).
10. Просто разные посетители видят разные ссылки.
11. Приказ Pоскомнадзоpа.
12. Упячка.
13. Just for lulz.
Linux Firefox
 Пенза
0
0
Кстати, я правильно понял — хэш в ссылке вычисляется от «солёной» даты истечения доступа? Остроумно. И в базе ничего не надо хранить.
Linux Firefox
 Москва
0
0
Leonid Kaganov
Честно говоря, сперва я пытался соорудить умную математику, которая бы производила с UTC-временем некую операцию, отбрасывая дробную часть, и тем самым вычисляла период, в течение которого результат этой математической операции остается постоянен. Но сам я не осилил это сходу, обратился в аське к Семеняке, он мне нарисовал формулу, по ней тоже не получилось (может я в тесте где-то ошибся), и в итоге я подумал - а хули? Сделаю проще, заодно и надежнее, и нагляднее.

Поэтому просто есть дата истечения и есть хэш, который включает в себя адрес страницы и эту дату. И проверок в движке две: соответствует ли хэш и не истекла ли дата. Хакеру не подобрать ;)

А в базе я вообще стараюсь ничего лишнего не хранить, все делать на хэшах.
Windows IE
0
0
D.iK.iJ
Хакеру - может и нет. Но Яндекс (Гугл, Мэйл) бар, нипример, просто сопрет ссылку у пользователя (которому вы ее дали) и проиндексирует текст. :(
Я уже как-то накололся так с обычным "секретным адресом". Теперь обязательно проверяю куки, реферрер или что-то еще подобное. :)
Linux Firefox
 Москва
1
0
Leonid Kaganov
Ну так для того ссылка и ограничена временем.
Windows IE
1
0
D.iK.iJ
Я так и понял. Просто "на заметку".

P.S. В письме (уведомлении о новом комментарии) пришло замечательное:

Здравствуйте, LLeo Kaganov!
Пришел ответ на ваш комментарий в блоге Леонид Каганов:
Windows Opera
0
1
9в (#2012228)
Файнридер онлайн - наше все

10 августа 2012
Мир сценарного безумия
Windows Firefox
0
0
Илья Цыгвинцев
Да ладно, проще набить руками.
Windows Safari Chrome
0
0
вип-вап (#2503314)
Для такой работы возможно использование программы ABBYY Screenshot Reader. Входит в состав ABBYY FineReader или распространяется отдельно. Простая и удобная программа для создания снимков любой области экрана. Ознакомительная версия программы работает на компьютере в течение 120 дней. Подробнее: http://www.abbyy.ru/screenshot_reader/
Windows Firefox
 Санкт-Петербург
0
0
[email protected]Кошак (cats-shadow)
Не работает. :( Вернее адрес генерирует, а авторизации по такой ссылке нет - пишет, что страница не найдена.
Linux Firefox
 Москва
0
0
Leonid Kaganov
Странно, у меня работает.

На всякий случай советую попробовать сделать доступ подзамочный, а не админский. По-моему оно с подзамочным работает только. Надо бы сделать, чтоб и с админским работало, да все руки не доходят выяснить, так ли это вообще.
Windows Firefox
 Санкт-Петербург
0
0
[email protected]Кошак (cats-shadow)
О! разобрался!
Если путь к странице сформирован как /YYYY/MM/DD - то всё ок.
Если путь типа /pic (как в ссылке ниже) - то не работает!

http://cats-shadow.cats-home.net/pic?hash=d1a98474dee6f20900[...]
Linux Firefox
 Москва
0
0
Leonid Kaganov
спасибо! будем чинить. но в ноябре только теперь...
Windows Firefox
 Санкт-Петербург
0
0
[email protected]Кошак (cats-shadow)
Всегда пожалуйста. Сдать найденного бага "в поликлинику для опытов" не жалко :)

всего комментариев: 16

<< предыдущая заметка следующая заметка >>