Código:
Pero ni idea de cómo hacerlo con órdenes para SqlSrv. Ayuda por favor? mysql_real_escape_string
| |||
SQLSRV Evitar inyección de código? PHP Hola a todos. El caso es que tengo una base de datos MS-SQL (SQLSRV) y actualmente tengo un sistema de usuarios (formulario de registro, formulario de acceso...) pero no evita la inyección de código... He visto que en MYSQL se usa
Código:
Pero ni idea de cómo hacerlo con órdenes para SqlSrv. Ayuda por favor? mysql_real_escape_string |
| |||
Respuesta: SQLSRV Evitar inyección de código? PHP He buscado bastante, he mirado otros posts donde dan soluciones, pero no sé aplicarlo a mi caso =( |
| ||||
Respuesta: SQLSRV Evitar inyección de código? PHP Como he visto que estas usando funciones oci_* te recomiendo que uses consulta preparadas aqui se expone bien ese tema Saludos
__________________ Haz preguntas inteligentes-Como ser Hacker No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta. |
| |||
Respuesta: SQLSRV Evitar inyección de código? PHP Funciones oci_*? No he usado ninguna de ese tipo en mi código PHP :( |
| ||||
Respuesta: SQLSRV Evitar inyección de código? PHP Creo que se refiere a esto: http://www.php.net/manual/es/ref.sqlsrv.php Cita: No digas eso, que el manual esta ahí, obviamente otros casos no serán similares al tuyo.Es por eso que debes leer la documentación para ver como debes aplicarlo a tu caso. Nosotros no podemos leer por ti para decirte cómo hacer las cosas.
__________________ Y U NO RTFM? щ(ºдºщ) No atiendo por MP nada que no sea personal. |
| ||||
Respuesta: SQLSRV Evitar inyección de código? PHP Que metida de pata la mía ![]() Saludos
__________________ Haz preguntas inteligentes-Como ser Hacker No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta. |
| |||
Respuesta: SQLSRV Evitar inyección de código? PHP Ok, he mirado la orden "sqlsrv_prepare", pero, evita la inyección de código? En el manual de php.net aclaran esto: "sqlsrv_execute — Executes a statement prepared with sqlsrv_prepare()" "This example demonstrates how to prepare a statement with sqlsrv_prepare() and re-execute it multiple times (with different parameter values) using sqlsrv_execute()." Pero no sé si tiene relación con el escape de inyección de código :/ |
| ||||
Respuesta: SQLSRV Evitar inyección de código? PHP
__________________ Haz preguntas inteligentes-Como ser Hacker No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta. |
| |||
Respuesta: SQLSRV Evitar inyección de código? PHP He encontrado un post donde lo explica muy bien y da soluciones. Dan como solución este recurso: 1º Crear un script PHP independiente con el siguiente contenido:
Código:
2º Incluir en todas las páginas que se utilice el método $_GET Y $_POST estas líneas:<? // Evitamos la inyeccion SQL // Modificamos las variables pasadas por URL foreach( $_GET as $variable => $valor ){ $_GET [ $variable ] = str_replace ( "'" , "'" , $_GET [ $variable ]); } // Modificamos las variables de formularios foreach( $_POST as $variable => $valor ){ $_POST [ $variable ] = str_replace ( "'" , "'" , $_POST [ $variable ]); } ?>
Código:
Podrían decirme si es válido para evitar la inyección de código? Gracias. <? // Evitamos la inyeccion SQL include 'inyeccion.php' ; // // Contenido de la página PHP // ?> |
| ||||
Respuesta: SQLSRV Evitar inyección de código? PHP No, ese código es pésimo y no asegura nada, lo único que hace es alterar las comillas de todas las variables recibidas y eso mas que soluciones crea problemas.
__________________ Y U NO RTFM? щ(ºдºщ) No atiendo por MP nada que no sea personal. |
| |||
Respuesta: SQLSRV Evitar inyección de código? PHP Qué opinan de este código? Hace la función de impedir la inyección?
Código:
<form method="post" action="injection.php" enctype="multipart/form-data" > Username:<input type="text" name="Username" id="Username"/></br> Password:<input type="text" name="Password" id="Password"/></br> <input type="submit" name="submit" value="Submit" /> </form> <?php $params = array($_POST['Username'], $_POST['Password']); $server = "MyServer\sqlexpress"; $options = array("Database"=>"ExampleDB", "UID"=>"MyUID", "PWD"=>"MyPWD"); $conn = sqlsrv_connect($server, $options); $sql = "SELECT * FROM UserTbl WHERE Username = ? and Password = ?"; $stmt = sqlsrv_query($conn, $sql, $params); if(sqlsrv_has_rows($stmt)) { echo "Welcome."; } else { echo "Invalid password."; } ?> |
| |||
Respuesta: SQLSRV Evitar inyección de código? PHP Mira, yo tenia algo así: Esto lo usé por bastante tiempo y no tuve problemas, habría que ver si sigue siendo útil... Código PHP: |
Etiquetas: |