- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
В 2023 году Одноклассники пресекли более 9 млн подозрительных входов в учетные записи
И выявили более 7 млн подозрительных пользователей
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
К примеру есть файл 1.html на котором форма, с формы берутся данные и передаются файлу 2.php который записывает данные в базу. Метод POST или GET.
Так вот, я же могу вручную передать данные файлу 2.php, не заполняя формы, если гет, то просто вручную в браузере пропишу 2.php?name=1 к примеру, а если пост, то на своем компьютере запущу файл который передаст постом.
Как это предусмотреть? В файле 2.php проверять откуда был переход? или какие-то другие методы?
---------- Добавлено 01.05.2012 в 18:55 ----------
Или как сделать чтобы файл был доступе только для скриптов других файлов на сервере. Тоесть чтобы я не мог к нему подключиться через браузер, но файлы на сервере имели к нему доступ.
Единственный способ — проверять Referer-а.
Но, сами понимаете, и реферера можно любого написать, если кто-то начнёт целенаправленно ковырять ваш сайт.
Поэтому, эффективным способом борьбы с такой самодеятельностью мне видится тщательная проверка входящих данных в 2.php, ну и капча (или её невидимое подобие).
;10349575']эффективным способом борьбы с такой самодеятельностью мне видится тщательная проверка входящих данных в 2.php, ну и капча (или её невидимое подобие).
А в htaccess нельзя ли органичить прямой доступ к файлу, но разрешить доступ скриптам?
Мне что-то с трудом верится что все сайты дабы избежать взлома разрабатывают какую то мудреную систему для такого случая.
а тупо deny all выставить для папки со скриптами пробовали? ;)
а тупо deny all выставить для папки со скриптами пробовали? ;)
В таком случае ни кто вообще подключиться не сможет ни хацкер через браузер ни сами скрипты на сервере. В этом сообственно и заключается проблема
А может, лучше фильтровать параметры GET-запроса в самом скрипте 2.php (по типу можна || нельзя)
В таком случае ни кто вообще подключиться не сможет ни хацкер через браузер ни сами скрипты на сервере. В этом сообственно и заключается проблема
уверены ? на сервере файлы запускаются с правами владельца, им deny all побоку. в любом нормальном фреймворке/cms скрипты ядра просто должны лежать в папке с dey all и ничего - как то работают 😂...
А может, лучше фильтровать параметры GET-запроса в самом скрипте 2.php (по типу можна || нельзя)
Ок, другой пример. Есть файл 1.html с формой, в эту форму просто вводится id для удаления из базы данных с этим id, этот id через форму передается 2.php, который получает по GET или POST этот id и выполняет удаление из базы данных с этим id.
Нужно чтобы запрос к 2.php выполнялся только через форму на 1.html.
Но я просто могу вручную передать этот id для удаления файлу 2.php без формы.
И что здесь проверять в 2.php? Id пришел? пришел, удаляем...
К примеру есть файл 1.html на котором форма, с формы берутся данные и передаются файлу 2.php который записывает данные в базу. Метод POST или GET.
Так вот, я же могу вручную передать данные файлу 2.php, не заполняя формы, если гет, то просто вручную в браузере пропишу 2.php?name=1 к примеру, а если пост, то на своем компьютере запущу файл который передаст постом.
Как это предусмотреть? В файле 2.php проверять откуда был переход? или какие-то другие методы?
Как вариант - генерите уникальный ИД для каждой формы запрашиваемой с сервера и среди прочих параметров размещаете его в форме. В принимающем файле проверяете наличие этого ИД. Это нечто вроде защиты от csrf.
---------- Добавлено 01.05.2012 в 18:55 ----------
Или как сделать чтобы файл был доступе только для скриптов других файлов на сервере. Тоесть чтобы я не мог к нему подключиться через браузер, но файлы на сервере имели к нему доступ.
Прямой ответ на Ваш вопрос - .htaccess с deny all в директорию, а скрипт запускать из консоли ( exec и т.д.).
Когда один php скрипт подключает другой через include/require, ограничения в .htaccess не действуют.
При deny all нельзя обратиться к файлу через браузер, но можно обратиться скриптом на том же сайте (насколько я понимаю).
А так - проверять, фильтровать и экранировать поля, других вариантов-то вроде как и нет.