Проверка формы – стандартное решение?

Я немного выше новичка с веб-программированием, и я мало знаю о проверке формы. В моих исследованиях кажется, что существует множество способов проверки данных формы, а некоторые из методов зависят от того, что вы собираетесь делать с данными. Тогда вы должны быть устаревшими функциями, такими как mysql_real_escape_string и что-то, называемое «PDO», и все это совершенно сложно.

Итак, было бы разумно / возможно, чтобы существовал набор функций, которые в основном являются стандартным способом проверки данных формы? Как это…

 function validate_for_sql() function validate_for_email() function validate_for_browser() 

Может быть, должно быть больше (что-то для целых чисел?). Идеальными были бы такие вещи, как инъекции sql и другие гадости, ВСЕ СЛЕДУЕТ обращаться через набор общепринятых и прочных функций, разработанных и для сообщества кодирования.

Это выполнимо? Он уже где-то существует .. может быть, в скрытом логове? Если да, может ли кто-нибудь отправить мне секретный пароль, необходимый для доступа к этой информации? 🙂

Related of "Проверка формы – стандартное решение?"

Позвольте мне подвести итог вашему вопросу: «Было бы разумно / возможно, чтобы существовал набор функций, общепринятых, единообразных и твердых, которые в основном являются стандартным способом проверки данных формы?»

Если то, что я суммирую, верно, тогда ответ будет следующим: jQuery Validation . Как указано в названии, для выполнения этой работы вам необходимы jQuery и jQuery Validation.

Ниже приведен пример использования этих инструментов.

HTML:

 <form id="myForm"> <input type="text" name="currency"> <input type="text" name="amount"> </form> 

Javascript:

 $("#myForm").validate({ rules: { "currency": { minlength: 3, required: true }, "amount": { number: true } } }); 

По умолчанию для KeyUp запускается проверка . Поэтому, когда пользователь меняет, скажем, валюту поля и нарушает одно из вышеприведенных правил, jQuery Validation автоматически выдаст сообщение для предварительной сборки.

Это сообщения предварительной сборки для правил выше:

  1. minlength: Введите не менее трех символов
  2. требуется: Это поле обязательно для заполнения.
  3. номер: введите действительный номер

Что делать, если вы хотите проверить, доступна ли валюта в таблице нашего обменного курса?

Ответ: просто добавьте специальный метод проверки.

 $.validator.addMethod("checkCurrency", function(value, element) { var result = false; $.ajax({ type:"GET", async: false, url: "012_ajax.php", // script to validate in server side data: {currency: value}, success: function(data) { result = (data == "1") ? true : false; } }); // return true if currency is exist in database return result; }, "Currency is not exist." ); $("#myForm").validate({ rules: { "currency": { minlength: 3, required: true, checkCurrency: true }, "amount": { number: true } } }); 

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


Последний вопрос: могу ли я создать собственное сообщение для этого плагина?

Ответ: ДА.

 $("#myForm").validate({ rules: { "currency": { minlength: 3, required: true, checkCurrency: true }, "amount": { number: true } }, messages: { "currency": { minlength: "Currency should at least 3 char or more", required: "Currency is required" }, "amount": { number: "Amount must be number" } } }); 

Теперь каждый раз пользователь нарушил правила выше, форма будет давать сообщения как состояние в коде выше.

Важное значение этого плагина, как и любая проверка формы, заключается в том, что данные не будут отправляться до тех пор, пока данные не будут проверены. Ну, пока пользователь не отключает / отключает javascript из своего браузера. 🙂


ОБНОВИТЬ

Ответ выше для проверки на стороне клиента.

Для проверки на стороне сервера в Интернете есть скрипты проверки подлинности PHP, среди которых:

  1. http://html-form-guide.com
  2. A Soares

У них есть встроенные правила проверки, и пользователь может добавить пользовательские.

Надеюсь, эта помощь.

Если я понимаю ваш вопрос, то да, это возможно, передавая значения входных данных такого типа, как параметры, в функции. Я уверен, что если вы будете искать в Интернете, вы найдете некоторые готовые функции, которые сделают это. Но они не занимают много времени, а создание их повысит ваши навыки. Было бы неплохо иметь что-то подобное, и на самом деле ASP.NET действительно имеет встроенную проверку, но я боюсь, что PHP не (насколько мне известно).

Вы принципиально недопонимаете это.

Точка выхода из строки – это позволить вам вставлять ее в структурированную строку без выхода из структуры (например, SQL-инъекция, XSS и т. Д.).

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

Если вы избежите его для другой структуры (например, HTML-escape-строка и поместите ее в SQL-инструкцию), вы представите как дыру в безопасности, так и ошибку.