Problema POST del formulario

Tengo un problema con un formulario y lo envío a otro archivo .PHP.

Recibo un error prohibido cuando intento publicar en mi base de datos. Funcionará la mayor parte del tiempo, pero recibo este error cuando intento publicar enlaces "http://" como este:

This is a test.<div><br></div><div>I wonder if it will work.&nbsp;</div>

Funciona si no hay br Para el código anterior, estaba usando un editor WYSIWYG. Pero esto solía suceder antes de WYSIWYG con ciertas palabras.

No estoy seguro si es con los permisos de archivo que es "0644" o el propio servidor. Pero quiero arreglar esto. Gracias,

Me he dado cuenta de que no puedo usar dos etiquetas. Tal como <div>Test</div><b>Test</b> pero puede usar <div>test</div>

preguntado el 03 de mayo de 12 a las 22:05

un enlace contiene citas en su fuente. ¿Puede ser que no escapes de tu sql de ninguna manera? Por favor mira xkcd.com/327 -

1 Respuestas

intente filtrar la cadena de publicación con:

htmlspecialchars(mysql_real_escape_string($_POST['data']));

antes de intentar insertarlo en la base de datos.

contestado el 03 de mayo de 12 a las 22:05

El lugar adecuado para realizar el escape de HTML es cuando se utilizan los datos, no cuando se almacenan. - ladrónmaestro

Sigo teniendo el mismo problema. - Brian

@ThiefMaster, no es cierto: realizar un escape de HTML antes de guardarlo en la base de datos puede evitar muchos ataques de inyección de sql. - Sebastián Breit

El escape de HTML y la inyección de SQL son completamente ajeno. Para evitar la inyección SQL, generalmente las comillas simples deben reemplazarse con comillas simples dobles o anteponer una barra invertida según el sistema. Ninguna de estas dos cosas sucede cuando se escapa html. - ladrónmaestro

Lo ves htmlspecialchars hay algun lado? Yo no. En caso de que hayas confundido algo: solo estoy hablando de esa función. mysql_real_escape_string obviamente se requiere a menos que use declaraciones preparadas/PDO (que debería) - ladrónmaestro

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.