una reales paso mas inyecciones inyeccion injection hacer ejemplos ejemplo comunes como comandos casos mysql sql erlang sql-injection

mysql - reales - inyecciones sql mas comunes



Erlang Mysql: Cómo prevenir las inyecciones de SQL (1)

Soy muy nuevo en erlang y necesito codificar algo que inserte filas en una base de datos MySQL. ¿Cómo puedo prevenir las inyecciones de SQL con Erlang? ¿Hay algo así como declaraciones preparadas en otros idiomas o cómo debería hacerlo?

Gracias por tus respuestas.


Esta respuesta depende del controlador que está usando.

Erlang ODBC tiene una función param_query que vincula un conjunto de parámetros a la consulta y también puede escapar a todos los caracteres especiales de SQL.

erlang-mysql-driver tiene declaraciones preparadas:

%% Register a prepared statement mysql:prepare(update_developer_country, <<"UPDATE developer SET country=? where name like ?">>), %% Execute the prepared statement mysql:execute(p1, update_developer_country, [<<"Sweden">>,<<"%Wiger">>]),

(código del blog de Yariv )

Como último recurso siempre puedes escapar de los personajes

NUL (0x00) --> /0 BS (0x08) --> /b TAB (0x09) --> /t LF (0x0a) --> /n CR (0x0d) --> /r SUB (0x1a) --> /z " (0x22) --> /" % (0x25) --> /% '' (0x27) --> /' / (0x5c) --> // _ (0x5f) --> /_