Задача:
обезопасить вэб приложение.
Имеем:
Javascript, который берет по id электронный адрес введенный пользователем в определенное поле и отправляет его файлу php с помощью xmlhttp запроса (ajax) методом GET.
Далее этот e-mail подвергается обработке на php. Затем проверка на подлинность. Если все проверки пройдены - запись в базу данных mysql.
Для обработки на php использую stripslashes, strtolower и в планах добавить mysql_real_escape_string.
Для проверки па подлинность - функцию, тут все нормально.
Проблема состоит в том, что javascript(ajax), который передает запрос в php, показывает
1. адрес файла обработчика - php.
2. метод передачи GET.
Зная эти данные недобный человечик может записать кучу мусора в мою базу, осуществляя GET запросы к данному php файлу.
Хоть файл и осуществляет проверки и т.д. но кажется все это все равно не безопасно.
Вопрос:
Есть идеи как бы получше защитить все это дело?
P.S.
Недавно добавил функцию для закодирования e-mail-a в base64_encode с помощью javascript (может зря?!), и только после этого он передается в php. А там он уже декодируется base64_decode. Таким образом, если передать незакодированный e-mail в php, то он будет определяться как неправильный, и не будет заливаться в базу.
Это дает небольшую защиту, но все же, закодирование происходить в javascript и если очень надо будет можно посмотреть алгоритм и понять метод кодирования, а потом уже передавать на обработчика e-mail-ы в закодированном виде.
В общем, надеюсь суть понятна, буду признателен за помощь.
Примечание:
base64 наверно лучше убрать, сэкономлю размер файлов
mysql_real_escape_string в планах так как до той стадии в скрипте еще не дошел, то есть его надо использовать только после соединения с базой данных, а я пока прописал код только для проверки имайлов. Проверка хорошая, проверяет валидность домена, наличие @ и отсутствие запрещенных в имайлах символов.
с кукой и сессией заморачиваться не хотел. может капчу добавить проще..
добавлять они будут без регистрации на сайте.
Вроде ответ ясен, спасибо NetRain! =)
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.