- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Переиграть и победить: как анализировать конкурентов для продвижения сайта
С помощью Ahrefs
Александр Шестаков
В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
сделайте ключ безопасности script.php?name=1&key=2093673047teg3634y9e
и еще добавьте ограничение по IP либо другим параметрам
По поводу deny all. НЕТ!
У меня есть 2 файла, 1.php и 2.php
на 1.php, есть поиск ajax. Тоесть пользователь вводит запрос в инпут, и этот запрос отпарвляется аяксом на 2.php где обрабатывается и возвращает результаты на 1.php, где они выводятся.
Если я в папку с 2.php кладу htaccess с deny all. То поиск на 1.php перестает работать и в ручную я тоже не могу подключиться к 2.php
А мне нужно чтобы вручную я не мог подключиться, а поиск работал (тоесть скрипты работали, а через браузер нет)
---------- Добавлено 01.05.2012 в 21:10 ----------
сделайте ключ безопасности script.php?name=1&key=2093673047teg3634y9e
и еще добавьте ограничение по IP либо другим параметрам
Не понял, и что с этим ключом делать. Если он генерируется в первом файле и отправляется во второй то с чем его сравнивать во втором файле?
Или вы имеете введу сделать постоянный ключ, отправлять постом и проверять его во втором файле? Впринципе в таком случае можно будет взломать только если знаешь этот ключ
HTTP протокол текстовый. Любой запрос можно подсмотреть, записать и повторить. Невозможно определить запрос из браузера или его в консоли через Netcat набрали.
Не понял, и что с этим ключом делать. Если он генерируется в первом файле и отправляется во второй то с чем его сравнивать во втором файле?
Или вы имеете введу сделать постоянный ключ, отправлять постом и проверять его во втором файле? Впринципе в таком случае можно будет взломать только если знаешь этот ключ
почитайте про сессии.
коротко - при открытии первой страницы генерится достаточно большое случайное число которое
а) сохраняется в куку на клиенте (в броузере)
б) сохраняется на сервере в базе/файле
при вызове второй страницы ваш скрипт берет переданную броузером куку и ищет ее в базе/файле. если находит - предполагается что запрос пришел с первой страницы.
почитайте про сессии.
коротко - при открытии первой страницы генерится достаточно большое случайное число которое
а) сохраняется в куку на клиенте (в броузере)
б) сохраняется на сервере в базе/файле
при вызове второй страницы ваш скрипт берет переданную броузером куку и ищет ее в базе/файле. если находит - предполагается что запрос пришел с первой страницы.
Вы не поверите, но я знаю что такое сессии. Ваш способ будет работать если каждый раз при открытии страницы генерировать новую сессию, делать запрос к базе, плюс во втором файлу так же делать запрос к базе (что не есть быстро), к тому же в сессии ограничение на 20 минут, и если пользователь потусуется на первой странице больше 20 минут то сессия удалиться, и что сравнивать во втором файле в таком случае? И вообще при чем тут сессии. Можно уж тогда просто генерировать уникальную строку и записывать ее в куку и базу при входе на первую страницу.
Можно сделать вариант с ключем, если придумать алгоритм по которому он генерируется и сравнивается в втором файле. Тоесть например в первом файле генерируется ключ как сегодняшнее число + 12345 и передается во второй файл, где так же по такому же алгоритму создается ключ и сравнивается с переданным.
UPD: Можно прописать htaccess таким образом:
---
SetEnvIf Referer "http://mysite.com/1.php" site
<FILES 2.php>
order deny,allow
deny from all
allow from env=site
</FILES>
---
И положить в папку с 2.php
В таком случае доступ к 2.php будет только у скриптов со страницы 1.php
Полагаю это наиболее простой вариант.
Вынесите второй файл вообще из из директории пользователя сервера. Сам не пробовал, вы можете попробовать.
Вынесите второй файл вообще из из директории пользователя сервера. Сам не пробовал, вы можете попробовать.
Да, я про такое читал, но в моем случае запрос ко второму файлу делается аяксом, тоесть JS, а так как JS это не серверный язык то мне кажется нельзя прописать в JS путь который за пределами корня. Во всяком случае я не знаю как.
Вы не поверите, но я знаю что такое сессии. Ваш способ будет работать если каждый раз при открытии страницы генерировать новую сессию, делать запрос к базе, плюс во втором файлу так же делать запрос к базе (что не есть быстро), к тому же в сессии ограничение на 20 минут, и если пользователь потусуется на первой странице больше 20 минут то сессия удалиться, и что сравнивать во втором файле в таком случае? И вообще при чем тут сессии. Можно уж тогда просто генерировать уникальную строку и записывать ее в куку и базу при входе на первую страницу.
про сессии рекомендовано почитать т.к. они работают так, как я описал - через куки.
Можно сделать вариант с ключем, если придумать алгоритм по которому он генерируется и сравнивается в втором файле. Тоесть например в первом файле генерируется ключ как сегодняшнее число + 12345 и передается во второй файл, где так же по такому же алгоритму создается ключ и сравнивается с переданным.
дата для этих целей не подойдет.
---------- Добавлено 01.05.2012 в 23:31 ----------
UPD: Можно прописать htaccess таким образом:
---
SetEnvIf Referer "http://mysite.com/1.php" site
как вам уже сказали - реферер снифится и подделывается на ура.
Тоесть в таком случае самый безопасный вариант: при каждом входе на страницу 1 генерировать уникальный ключ, и брать к примеру ip пользователя, записывать ip и ключ в базу, после передавать ключ файлу 2, в котором опять брать ip пользователя и проверять соответсвует ли полученный ключ тому ключу который записан в базе и для которого такой ip.
?