2012-07-28 32 views
5

¿Se considera una mala práctica dar nombres de formularios HTML con el mismo nombre que los nombres de campos de tablas? Estoy construyendo algunas consultas de inserción de sql dinámicas, y actualmente estoy usando algunas expresiones regulares para cambiar los nombres a los campos de base de datos relevantes sobre la base de que siento que puede ser inseguro; de lo contrario, ¿cuáles son sus opiniones?¿El mismo nombre para campos de formulario y campos de tabla de base de datos?

+1

Es difícil moverse por tener "nombre" en una tabla y un formulario. Los nombres son irrelevantes, siempre y cuando no estés haciendo una ronda de esos nombres de campo a través del formulario, abriéndote a todo tipo de ataques de inyección sql. –

Respuesta

4

Escribí una función para hacer INSERT consultas para mí, y depende de ese hecho. Toma los nombres de las variables $_POST y INSERT s en sus columnas correspondientes.

Como se ha dicho en el comentario en el OP, no importa, y en la mayoría de los casos, le ahorra tiempo de volver a recordar si ha utilizado first_name,firstname, o first.

Además, tenga en cuenta que sus usuarios nunca verá los nombres de las columnas de la base de datos, y solo verán los nombres de los formularios si visualizan el origen. Por lo tanto, ¡no hay mucho de qué preocuparse!

¡Buena suerte!

0

Creo que esto puede ayudarlo a reducir la codificación que necesita hacer. Aunque parezca una vulnerabilidad, lo más importante es verificar los valores provenientes de los usuarios en busca de datos maliciosos. No creo que pueda ser dañino, ya que saber qué campos de base de datos está utilizando no le da mucho a los piratas informáticos. Todavía necesitan hackear el servidor de base de datos para acceder a sus datos.

+1

Para más detalles sobre esto, todo el mundo sabe que una mesa tendrá un campo 'id', y uno a los usuarios almacenar tendrá un' contraseña, '' sal, y '' columna name'. Así que no se preocupe – David

0

Los nombres deben ser lo suficientemente legible para que lo lea, y sin embargo "impredecible" (con la falta de un término mejor) lo suficiente como para que un atacante no ser capaz de adivinar las partes privadas.

Los nombres de los formularios en realidad no importan, pero un buen nombre para un campo de contraseña sería the_users_password o passphrase_for_account.

+0

¿Por qué 'the_users_password' sería más seguro que' password'? – David

+0

@David: Porque a un atacante le costará más adivinarlo. Es poca seguridad, como si llegado hasta aquí, será capaz de obtener el esquema de la tabla, pero aún así ... –

+0

Bueno espero que él no es el almacenamiento de contraseñas en texto plano en la columna de la contraseña! Aunque entiendo lo que dices. – David

Cuestiones relacionadas