Главное, что следует иметь в виду, это то, что при использовании AJAX вы по существу предоставляете интерфейс для своей базы данных.Например, если вы проверяете дубликаты имен пользователей (что вы НЕ МОЖЕТЕ сделать в javascript) или дубликаты электронных писем, чтобы предоставить сообщение типа «это имя пользователя уже используется ... попробуйте другой», вы предоставляете интерфейсдля потенциального хакера, чтобы немедленно проверить, какие имена пользователей и / или электронные письма доступны.Соображения безопасности НЕ совпадают с Javascript.Мой совет по этой теме: (1) Используйте параметризованные запросы для доступа к базе данных, как кто-то уже предложил.(2) Реализовать задержку на странице ajax .php - длина зависит от сценария - я хожу примерно на 1 секунду (3) Выполняю ajax при размытии или при потере фокуса, а не при каждом нажатии клавиши (4) Реализация проверкив вашем обработчике ajax, который гарантирует, что запрос приходит с ожидаемой страницы (то есть: не какой-то случайный скрипт, написанный хакером).(5) ТОЛЬКО выполняйте вызов AJAX, когда произошла какая-то другая базовая проверка элемента формы [т.е. базовая проверка JavaScript]
Надеюсь, это поможет.Проверка формы с использованием ajax абсолютно не похожа даже на удаленную проверку валидации javascript.Это интерфейс вашей базы данных, и вы должны быть осторожны с ним.
Это помогает представить, как вы взломали бы свой собственный сайт - знание того, какие адреса электронной почты зарегистрированы на вашем сайте, является отличным местом дляНачните.Поэтому я мог бы написать скрипт для генерации случайных адресов электронной почты, используя обычные слова и / или имена, и обработать ваш обработчик ajax, чтобы получить список зарегистрированных адресов электронной почты для вашего сайта.Я мог бы сделать это быстро, если бы вы не следовали совету (1) - (5), который я изложил выше.Как только у меня есть электронные письма, я просто гуглю их ... скорее всего, это даст мне имя.Я могу угадать имя пользователя оттуда.Так что теперь у меня есть имя пользователя и электронные письма.Для объяснения паролей потребуется слишком много времени, но если я смогу легко получить имена пользователей или электронные письма ... это пометит вас как цель, и вы получите больше внимания, чем вы действительно хотите.
Я работаю надсистема проверки регистрации на данный момент - я буду рад поделиться ею с вами, если хотите.Возможно, я упускаю что-то важное!
Покойся с миром.