Скрипт ограничения доступа к странице

Сегодня решаю проблему начинающих инфобизнесменов. Иногда я заглядываю на их форум, так как мне интересны тематики продаж и продвижения товаров. Даже не смотря на то, что к большинству «бизнесменов» я отношусь довольно скептически.

Там я нашёл этот вопрос и решил выложить блоге его банальное решение. Почему товарищи инфобизнесмены не могут нанять фрилансера и заплатить ему 5 баксов, я не знаю. Наверно такие «бизнесмены».

Суть проблемы

Очень часто интернет-предприниматели раздают бесплатные материалы за e-mail подписку. Вы оставляете свой почтовый адрес, а взамен получаете ссылку на страничку со ссылками для скачивания. Или это может быть страничка с текстовым, аудио или видео контентом. Выгода бизнесмена в том, что он получает ваш e-mail, и может рассылать вам какую-то информацию, а также предложения.

И ему крайне не выгодно, чтобы материалы скачивались мимо подписки. Ведь ссылки могут выложить на форуме, блоге, в другой рассылке или просто передать другому пользователю.

Было бы просто ограничить доступ с помощью регистрации или выдачи уникального ключа подписчику. Однако незачем усложнять простую процедуру подписки и скачивания (или просмотра) материала. В идеале пользователь вообще не должен заметить эту проверку.

Решение: ограничиваем доступ с помощью кук

Решение довольно банальное. С помощью GET параметра в ссылке ставим подписчику куку, которая подтверждает наличие доступа. А затем на секретной странице проверяем наличие этой куки. Если всё в порядке, выводим страницу. Если же куки нет, то отправляем пользователя на главную страницу сайта.

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

А вообще, как я понял, упор делается на активных подписчиков, которые сразу же бегут по линкам и изучают предложенные им материалы.

Ссылку я предлагаю отсылать подписчикам в таком виде: http://site.com/secret-page.php?access=true. То есть, добавляем параметр access со значением true.

А код в самом начале секретной страницы должен быть таким:

<?php

$site_url = 'http://neverlex.com/examples/access_restriction/'; // URL главной страницы
$secret_page = 'http://neverlex.com/examples/access_restriction/secret-page.php'; // URL секретной страницы
$time = 365 * 24 * 60 * 60; // Время действия куки в секундах. По умолчанию, год

// Ставим куку, если есть параметр «access» и обновляем страницу
if ($_GET['access'] == 'true')
{
    setcookie('access', 'true', time() + $time);
    header('Location: ' . $secret_page);
}
// Иначе проверяем куку
else
{
    // Если куки нет или она не правильна, то отсылаем пользователя на главную
    if (empty($_COOKIE['access']) || $_COOKIE['access'] != 'true')
        header('Location: ' . $site_url);
}

?>

Адрес сайта, секретной страницы, а также время действия куки устанавливаются в самом начале. В остальном, я уже описал код выше.

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

Демо работы скрипта

Посмотреть в работе работу скрипта можно здесь. Я специально добавил функцию удаления куки, чтобы было удобно тестировать.

Улучшение безопасности

Конечно, с помощью данного скрипта мы повышаем безопасность материала, однако все понимают, что это защита от дурака. Эффективно защитить контент не так-то просто. Рассмотрим пару вариантов.

Можно хранить базу подписчиков на сервере либо обращаться к сервису рассылок с помощью API. Тогда можно генерировать уникальные для каждого подписчика ссылки на основе его адреса. И затем проверять не только наличие куки, но и наличие адреса в базе.

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

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

P.S.

Этот пост после написания сгинул в браузере по причине моей невнимательности. Поэтому пришлось писать его заново. Ужасное чувство, поверьте мне. Следите внимательно за своими материалами во время написания.

Подпишитесь на обновления блога

Получить в подарок мини-книги и 21-дневный тренинг по личностному росту.

Подписаться на рассылку «Инструменты Интернет для онлайн бизнеса»

Поделиться ссылкой:


Комментарии:

28.10.2010 11:35:39

Про браузер - «жистока»))) Але і я так не раз попадався, бо зовсім неуважний. А про скрипт - буду пробувати)))

28.10.2010 13:59:58

Прикольно, а я как раз на днях собираюсь выпустить свой скрипт для отдачи файлов за SMS, на основе API AvisoSMS и своего нового класса :) Похожая задача.

Но в твоём варианте вообще не вижу особого смысла - даже домохозяйки умеют делать copy/paste, что и сделают с URL, чтобы выложить в блог или на форум. С другой стороны, задача вообще на 100%, похоже, не решается, не отпечатки же пальцев проверять :)

28.10.2010 14:02:20

Насчёт повторного написания - очень сочувствую и понимаю. Прям так неприятно, когда такое случается! У меня многое не написано, потому что переписывать было лень.

Правда, недавно меня «Файрфоксик» очень порадовал. Довольно много уже написал, и не сохранялся... и тут случайно как-то нажал закрытие браузера. Так обидно, блин! Запускаю снова, весь расстроенный... а там бац, и вкладочка с набранным текстом. Вот это облегчение! ))

28.10.2010 14:06:57

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

На 100% задача не решается, но можно значительно ограничить круг лиц. Это только первый шаг, так сказать. Самый простой.

На счёт FF прикольно! Сохранять в кэш содержание формы не каждый додумается.

28.10.2010 17:55:29

Извините, я может и не совсем по теме, но слово «киберсант» просто рвет в клочья. А называть все это бизнесом вообще супер.
А скрипт, наверное, хороший и полезный, но мне не нужен.

29.10.2010 04:30:23

Хорошая вещь, для секретной страницы пойдёт, если там банковские коды не прятать.

29.10.2010 04:40:55

Спасибо за код! Реально нужная вещь, однозначно стоит попробовать.

29.10.2010 07:24:00

Если честно даже мысли не было прятать таким образом=)
Теперь думаю попробывать что ли=)
Хотя надо ли?..

29.10.2010 20:16:33

@Never Lex: «домохозяки» - широкий класс пользователей :) Был у меня небольшой тестик для твиттерян, где для пользователей без кук ключ хранился в адресе - несмотря на наличие ссылки «поделись с друзьями» люди постили ссылки с этой абракадаброй.

По поводу решения через куки - к примеру, есть «самые устойчивые куки», можно заюзать их

29.10.2010 20:17:55

//Ну вот и клевое совпадение - если бы не старые привычки, потерял бы коммент - твой парсер съел текст на хттп перед хабром, поэтому вырезаю.

...habrahabr.ru/blogs/webdev/104725/

Для того, чтобы максимально защитить контент, можно использовать также одноразовость ссылок, которые протухают после перехода (устанавливая куку). Тогда пользователям, зашедшим вновь с другого компьютера или браузера, надо просто спрашивать е-мэйл для «одноразового пароля». Вроде бы кажется довольно неуютным решением проблемы, которое отпугнет клиентов - но Фейсбук запустил такой сервис уже сейчас, и на волне страха за безопасность им пользуются.

Ну и по поводу пропадающих текстов с формы - ФФ с 3.5 как раз ввел кеш форм (но только в случае падения, при невыставленном expire «назад» не даст ничего), а достаточно давно существует плагин Lazarus для фф https://addons.mozilla.org/en-US/firefox/addon/6984/ и хрома https://chrome.google.com/extensions/detail/loljledaigphbcpfhfmgopdkppkifgno - но это не спасает меня от многолетней привычки контрол+а-контрол+в. Даже с ВП и Я.Почтой, где идет автосохранение (кстати, мог бы и у себя в самописном движке реализовать - всего чуть-чуть аякса).

Еще видел забавное решение - в случае ошибок и возврата назад при отправке комментов формы иногда все-таки сбиваются, несмотря на выставленный expire-cache, поэтому текст комментария дублировали на странице ошибки. И менее интересная плюшка в каком-то плагине капчи к ВП, при неправильной капче показывающем страничку с «второй попыткой».

30.10.2010 17:07:18
#11 senya

Вот у меня привычка очищать кеш и куку. И что тогда???

30.10.2010 18:44:27
#12 анонимус

Уместный вопрос про куку. У нас на работе чистят каждую пятницу )

30.10.2010 21:04:05

senya, анонимус, придётся ходить по ссылкам сразу из письма.

Сергей М., действительно, я вначале подумал о куках на 1 сессию (до закрытия браузера). Но «киберсантам» оно наверно не нужно :)

30.10.2010 22:20:28
#14 SergK

А ‹Скрытная Нана› (от Ласто) чего не подходит?
Файлы и информацию закрывает хорошо от ненужных пользователей-серферов.
С выдачей инвайтов нужно немного повозится, и свести выдачу к автомату. Поиграться с php и сделать пародию «аля вымогатель почты» (для подписки на рассылку с выдачей инвайта на доступ). Придумать можно кучу вариаций.

31.10.2010 09:23:51

SergK, она подходит, НО народ будет отпугивать заморочка со вводом пароля и получением доступа.

03.11.2010 15:13:49
#16 Про дотер

senya,
Полагаю тут всё банально - введёте заново, и кука создастся снова! =)

03.11.2010 22:16:06
#17 Гамлет

«Куку я предлагаю ставить на год.»
ты в своём уме? или мечтатель?
в течении ГОДА :
1- сидеть под одной системой
2- под одним браузером
3- Год не чистить куки (ну эт ваще вопиющее нарушение техники безопасности)
гы-гы-гы.....

04.11.2010 07:31:01

Простым пользователям не понравится геморой с вводом пароля

08.11.2010 08:02:58
#19 simex

Хах, защита через куки ничего не даст для 60% пользователей.......очистил куки и все....

11.11.2010 16:51:18
#20 Яковлевна

Так вот для чего нужны были куки. Давно хотела это узнать :) Идея конечно хороша (это я по-дилетантские рассуждаю), но ведь всё это тоже можно как-то обойти)

01.12.2010 12:40:06
#21 Satan

Насчет куков идея сомнительная, проще нормальную регистрацию сделать и доступ только зарегестрированным юзерам. Переживут.

19.12.2010 12:16:34
#22 heliax

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

29.12.2010 16:33:56

Ребя не знал куда написать, но как не в этом разделе программирования!
Кто нибудь знает как сделать - referer на wordpress? Не просто редирект а нужно наоборот скрыть от куда пользователь идет. Т.е. Идет пользователь с сайта эруди.ru - а если проанализировать путь посетителя то покажет что он пришел с другого сайта например с яндекса.
Люди добрые кто знает как это сделать откликнитеть- поисковики ничего не выдают а сделать надо.

12.01.2011 09:36:08

Спасибо огромное. Забрал себе. Посмотрю на практике ее работоспособность. Покрайней мере есть основа - доработать можно под себя

30.01.2011 13:15:25

Эм, а что помешает пользователю выложить в общий доступ ссылку из письма?
Тогда каждый переходящий по ней получит куку.
Лучше уж авторизация + галочка «запомнить»

30.01.2011 13:22:14

Константин, не все скопируют саму ссылку :) многие будут копировать её текстовую наполняющую :) Это так сказать «защита от дурака» :)

Например, пишете ссылку <a href="site.ru/secret-page.php?access=true">site.ru/secret-page.php</a> и множество баранов не смогут распространить правильную ссылку :)

Я не говорю, что это самый правильный способ. Это только один из способов.

30.01.2011 14:16:19

Согласен, что в качестве бесплатного данный способ подойдет, тем более если контент распространяется за e-mail адреса

12.03.2011 09:19:15
#28 ElenaM

Большое спасибо. Попробую на своем блоге. Надо на практике оценить работоспособность и реакцию пользователей. А там уж видно будет.

10.05.2011 01:00:13

Вот ищешь то, что нужно, а находишь что-то совершенно другое. Читаю и понимаю, что это тоже надо попробовать :) Спасибо за идею и ее реализацию!

21.05.2011 10:23:22

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

13.09.2011 03:37:25

Благодарю за паблик скрипта, почти то, что искал, везде подобные скрипты платны...

21.05.2012 15:19:57

Вот спасибо!!! Это как раз то, что я искал для своего блога. В основном все подобные скрипты в рунете стоят денюшку, а вы за бесплатно его в общее пользование выставили)
Спасибо еще раз

26.09.2014 08:10:41
#33 vzlom

***Предостовляем услуги взлома***

**И ddos атк сайтов**

1.Социальные сети:

1.1 Вконтакте

1.2 Mamba

1.3 Одноклассники

1.4 Facebook

1.5 love

1.6 По остальным соц.сетям узнавайте лично у нас

&

2.Почту:

2.1 яндекс

2.2 Маил

2.3 Рамблер

2.4 gmail

2.5 Yahoo

2.6 Hotmail

2.7 ukr . net

2.8 На счёт остальных узнавать лично у нас

&

3.Наши гарантии:

3.1 Оплата только после доказательсв

3.2 При взломе пароль не меняем,то есть жертва о взломе не узнает

3.3 Полная анонимность

&

4. Оплата производится:

4.1 Яндекс деньги

4.2 Qiwi

4.3 Webmoney

4.4 Или просто на мобильный телефон

&

По всем вопросам писать:

>>>icq: 621-286-052 Если не отвечаю в аське звоните

>>> Тел. 8-960-802-43-81

>>>E-mail: vzlom.alexei@gmail.com

с уважением Алексей
*
*
*
*
*
*
**
*
*
*
*
***Предостовляем услуги взлома***

**И ddos атк сайтов**

1.Социальные сети:

1.1 Вконтакте

1.2 Mamba

1.3 Одноклассники

1.4 Facebook

1.5 love

1.6 По остальным соц.сетям узнавайте лично у нас

&

2.Почту:

2.1 яндекс

2.2 Маил

2.3 Рамблер

2.4 gmail

2.5 Yahoo

2.6 Hotmail

2.7 ukr . net

2.8 На счёт остальных узнавать лично у нас

&

3.Наши гарантии:

3.1 Оплата только после доказательсв

3.2 При взломе пароль не меняем,то есть жертва о взломе не узнает

3.3 Полная анонимность

&

4. Оплата производится:

4.1 Яндекс деньги

4.2 Qiwi

4.3 Webmoney

4.4 Или просто на мобильный телефон

&

По всем вопросам писать:

>>>icq: 621-286-052 Если не отвечаю в аське звоните

>>> Тел. 8-960-802-43-81

>>>E-mail: vzlom.alexei@gmail.com

с уважением Алексей
*
*
*
*
*
*
*
*
**
*
*
**
*
*
*
***Предостовляем услуги взлома***

**И ddos атк сайтов**

1.Социальные сети:

1.1 Вконтакте

1.2 Mamba

1.3 Одноклассники

1.4 Facebook

1.5 love

1.6 По остальным соц.сетям узнавайте лично у нас

&

2.Почту:

2.1 яндекс

2.2 Маил

2.3 Рамблер

2.4 gmail

2.5 Yahoo

2.6 Hotmail

2.7 ukr . net

2.8 На счёт остальных узнавать лично у нас

&

3.Наши гарантии:

3.1 Оплата только после доказательсв

3.2 При взломе пароль не меняем,то есть жертва о взломе не узнает

3.3 Полная анонимность

&

4. Оплата производится:

4.1 Яндекс деньги

4.2 Qiwi

4.3 Webmoney

4.4 Или просто на мобильный телефон

&

По всем вопросам писать:

>>>icq: 621-286-052 Если не отвечаю в аське звоните

>>> Тел. 8-960-802-43-81

>>>E-mail: vzlom.alexei@gmail.com

с уважением Алексей

29.08.2015 13:51:15
#34 vzlom

***Предостовляем услуги взлома***
**И ddos атак сайтов**
1.Социальные сети:
1.1 Вконтакте
1.2 Mamba
1.3 Одноклассники
1.4 Facebook
1.5 love
1.6 По остальным соц.сетям узнавайте лично у нас
&
2.Почту:
2.1 яндекс
2.2 Маил
2.3 Рамблер
2.4 gmail
2.5 Yahoo
2.6 Hotmail
2.7 ukr . net
2.8 На счёт остальных узнавать лично у нас
&
3.Наши гарантии:
3.1 Оплата только после доказательсв
3.2 При взломе пароль не меняем,то есть жертва о взломе не узнает
3.3 Полная анонимность
&
4. Оплата производится:
4.1 Яндекс деньги
4.2 Qiwi
4.3 Webmoney
4.4 Или просто на мобильный телефон
&
По всем вопросам писать:
>>>icq: 621-286-052 Если не отвечаю в аське звоните
>>> Тел. 8-960-802-43-81
>>>E-mail: vzlom.alexei@gmail.com
с уважением Алексей

теги:Заказать взлом,Взлом на заказ Вконтакте,взлом одноклассников на заказ,заказать Взлом фейсбука,заказать взлом мамбы,услуги взлома одноклассников,заказать взлом без предоплаты, Взлом на заказ Вконтакте, взлом одноклассников на заказ, заказать Взлом фейсбука, заказать взлом мамбы, услуги взлома одноклассников, Взлом на заказ Вконтакте, взлом одноклассников на заказ, заказать Взлом фейсбука, заказать взлом мамбы, услуги взлома одноклассников, Заказать взлом, Взлом на заказ Вконтакте, взлом одноклассников на заказ, заказать Взлом фейсбука, заказать взлом мамбы, услуги взлома одноклассников, ВЗЛОМ НА ЗАКАЗ без предоплаты, Услуги хакера,нужен хакер без предоплаты.

24.11.2015 19:28:10
#35 vzlom

***Предостовляем услуги взлома***
**И ddos атак сайтов**
1.Социальные сети:
1.1 Вконтакте
1.2 Mamba
1.3 Одноклассники
1.4 Facebook
1.5 love
1.6 По остальным соц.сетям узнавайте лично у нас
&
2.Почту:
2.1 яндекс
2.2 Маил
2.3 Рамблер
2.4 gmail
2.5 Yahoo
2.6 Hotmail
2.7 ukr . net
2.8 На счёт остальных узнавать лично у нас
&
3.Наши гарантии:
3.1 Оплата только после доказательсв
3.2 При взломе пароль не меняем,то есть жертва о взломе не узнает
3.3 Полная анонимность
&
4. Оплата производится:
4.1 Яндекс деньги
4.2 Qiwi
4.3 Webmoney
4.4 Или просто на мобильный телефон
&
По всем вопросам писать:
>>>icq: 621-286-052 Если не отвечаю в аське звоните
>>> Тел. 8-960-802-43-81
>>>E-mail: vzlom.alexei@gmail.com
с уважением Алексей

теги:Заказать взлом,Взлом на заказ Вконтакте,взлом одноклассников на заказ,заказать Взлом фейсбука,заказать взлом мамбы,услуги взлома одноклассников,заказать взлом без предоплаты, Взлом на заказ Вконтакте, взлом одноклассников на заказ, заказать Взлом фейсбука, заказать взлом мамбы, услуги взлома одноклассников, Взлом на заказ Вконтакте, взлом одноклассников на заказ, заказать Взлом фейсбука, заказать взлом мамбы, услуги взлома одноклассников, Заказать взлом, Взлом на заказ Вконтакте, взлом одноклассников на заказ, заказать Взлом фейсбука, заказать взлом мамбы, услуги взлома одноклассников, ВЗЛОМ НА ЗАКАЗ без предоплаты, Услуги хакера,нужен хакер без предоплаты.

04.11.2016 22:46:59
#36 Гунтер

Есть отличный плагин для WordPress для скрытия страниц и записей, доступ предоставляется по уникальному паролю. Что особенно его выделяет, так это то, что пароли могут приобретать как зарегистрированные пользователи, так и гости. Отличное решение, сам пользуюсь. Называется WP Key Access.

06.04.2017 10:20:33
#37 vzlom

***Предостовляем услуги взлома***
**И ddos атак сайтов**
*Каждый 5 заказ бесплатно!!!!!!!!
Социальные сети:
Вконтакте
Mamba
Одноклассники
Facebook
love
По остальным соц.сетям узнавайте лично у нас
Почту:
яндекс
Маил
Рамблер
gmail
Yahoo
Hotmail
ukr . net
На счёт остальных узнавать лично у нас
Наши гарантии:
Оплата только после доказательств
При взломе пароль не меняем,то есть жертва о взломе не узнает
Полная анонимность
По всем вопросам писать:
icq: 607-917-719
Тел. 8-965-928-44-80
E-mail: uslugivzloma@hotmail.com
С уважением Михаил

09.04.2017 08:15:06
#38 vzlom

***Предостовляем услуги взлома***
**И ddos атак сайтов**
*Каждый 5 заказ бесплатно!!!!!!!!
Социальные сети:
Вконтакте
Mamba
Одноклассники
Facebook
love
По остальным соц.сетям узнавайте лично у нас
Почту:
яндекс
Маил
Рамблер
gmail
Yahoo
Hotmail
ukr . net
На счёт остальных узнавать лично у нас
Наши гарантии:
Оплата только после доказательств
При взломе пароль не меняем,то есть жертва о взломе не узнает
Полная анонимность
По всем вопросам писать:
icq: 607-917-719
Тел. 8-965-928-44-80
E-mail: uslugivzloma@hotmail.com
С уважением Михаил

Оставьте комментарий [форматирование]

Пожалуйста, воздержитесь от спама и идиотских высказываний. Жёсткая модерация. Ссылки закрыты атрибутом nofollow, а значит не несут пользы для продвижения!
Ссылки на всё кроме личных блогов и тематических блогов, сходных по тематике с данным, вырезаются.



Мой RSS фид