Esto es sobre un sitio web de anuncios clasificados ... Uso PHP y MySql para insertar registros en un db.¿Debo verificar la inyección sql incluso en entradas validadas?
Tengo un formulario HTML y los usuarios deben completar este formulario para continuar.
A continuación se muestra las entradas de formulario y la validación realizada en cada entrada (javascript):
Nombre (Sólo se permiten letras)
Tel (Sólo números permitidos)
correo electrónico (correo electrónico especial -regexp partido)
Título (No se permiten caracteres especiales, todo lo demás está bien. Por caracteres especiales me refiero a !(#)<>
etc. Longitud máxima de 35 caracteres.)
texto (Igual que el título, simplemente no hay límite en la longitud)
Precio (Sólo números permitidos)
hago mysql_real_escape_string()
en el Encabezado y texto, pero nada más.
Mi pregunta es simple, ¿es esto suficiente?
Tengo ninguna otra medida de seguridad mide en absoluto.
ACTUALIZACIÓN
var alphaExp = /^[a-zA-ZåäöÅÄÖ\s\-]+$/;
var numExp = /^(?=(?:\D*\d){0})[\d -]{0,20}$/;
var num_only = /^[0-9]+$/;
var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
var textExp = /^\s*([\wåäö\-\*][^\w]*){3}.*$/gmi;
var headlineExp = /^[\s\da-zA-ZåäöÅÄÖ&()+%\/*$€é:,.'"-]*$/;
¿Qué sucede si un usuario desactiva JavaScript? –
"La coincidencia especial de correo electrónico-expresiones regulares" me aterroriza, ya que muchas personas lo malinterpretan. Y solo permitir letras en el nombre es incorrecto. –
Las expresiones regulares están en la actualización ... Tenía un significado en general, pero compruebe las expresiones regulares si son correctas, por favor ... –