<?php require_once( 'basedatos.php' ); ?>Para que no me manden código como por ejemplo http://localhost/test.php&dato=hola; drop table tabla
<?php
$dato=$_GET["dato"];
$sql = "update tabla set campo='".$dato."' ;
$result=mysql_query($sql);
| Agustín Quiroga | ||
![]() |
Web. www.webq.com.ar Twitter. @AgusQuiroga |
|
| Tel: +54.11.5368.7921 - Dir: Arenales 2838, 8° A. | ||
| Ciudad Autónoma de Buenos Aires, Argentina. | ||
| "Asesoramiento, desarrollo y soporte para proyectos y negocios en internet." | ||
--Para ver este debate en la Web, visita https://groups.google.com/d/msg/php-arg/-/Y0KjiS8Yb04J.
Has recibido este mensaje porque estás suscrito al grupo "Grupo PHP Argentina" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a php...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a php-arg+u...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/php-arg?hl=es.
| Agustín Quiroga | ||
![]() |
Web. www.webq.com.ar Twitter. @AgusQuiroga |
|
| Tel: +54.11.5368.7921 - Dir: Arenales 2838, 8° A. | ||
| Ciudad Autónoma de Buenos Aires, Argentina. | ||
| "Asesoramiento, desarrollo y soporte para proyectos y negocios en internet." | ||
¿Conviene? ¿Qué estás haciendo? Obviamente, puso un ejemplo trivial para hacer una pregunta, y es fácil decir "para ese ejemplo no vale la pena". ¿Cuantas entidades tiene tu sistema? ¿Cuantas preveés? Si tenés menos de 5*, probablemente no rinda. Si tenés más que eso, probablemente sí.
http://net.tutsplus.com/tutorials/php/php-database-access-are-you-doing-it-correctly/?search_index=2
http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo-for-database-access/?search_index=3
ya mismo lo pruebo! gracias!
El 10/12/2012 03:50 p.m., Tordek escribi�:
> On 10/12/12 11:32, DEH wrote:
>> Hola,
>>
>> La funci�n de PHP para escapar en mysql es mysql_real_escape_string.
>
> 1) No uses mysql. Us� mysqli. Tiene muchas cosas mejores (por algo se
> llama Improved), incluyendo Prepared Statements y Transacciones.
>
> 2) No uses mysqli. Us� PDO. Es lo mismo que usar mysqli, pero con una
> capa extra de abstracci�n.
>
> Al no usar mysql, us�s los prepared statements de mysqli:
>
> $query = mysqli_prepare($conexion, "update tabla set campo=?");
> mysqli_bind_param($query, "s", $dato);
> mysqli_execute($query);
>
> �
>
> $conexion->prepare("update tabla set campo=?");
> $query->bind_param("s", $dato);
> $query->execute($query);
>
> o en PDO
>
> $query = $conexion->prepare("update tabla set campo=?");
> $query->execute(array($dato));
>
> (Por supuesto, las llamadas particulares dependen de exactamente qu�
> hagas; pero PDO tiende a ser m�s corto que mysqli.)
>
> Y estas son las opciones r�pidas; tambi�n ten�s la posibilidad de
> bindear par�metros por nombre ("update tabla set campo=:campo"), para
> ser expl�cito, y aclarar el tipo del par�metro (en el caso de mysqli
> est� puesto con "s"; en el caso de PDO ten�s que usar bindParam o
> bindValue).
>
> "No, pero..."
>
> No, pero nada. Es infinitamente m�s seguro usar PS que
> mysql_escape_real_string (acordate del _real_ porque si no us�s la
> versi�n vieja, que es insegura). Adem�s, tu query no queda como un
> rejunte de strings, sino como una query con espacios para par�metros,
> que se los pas�s m�s abajo.
>
> Los PS son m�s seguros (si la DB los soporta, por supuesto; sqlite,
> no) porque gener�s una query y se la das a mysql que la parsee.
> Despu�s le pas�s los par�metros. Es imposible modificar la forma de la
> query porque ya est� parseada.
>
>> Tambi�n es conveniente que uses un ORM, como por ejemplo propel,
>> http://propelorm.org/, te va a ayudar a tener una mejor abstracci�n
>> de la DB.
>
> �Conviene? �Qu� est�s haciendo? Obviamente, puso un ejemplo trivial
> para hacer una pregunta, y es f�cil decir "para ese ejemplo no vale la
> pena". �Cuantas entidades tiene tu sistema? �Cuantas preve�s? Si ten�s
> menos de 5*, probablemente no rinda. Si ten�s m�s que eso,
> probablemente s�.
>
>>
>> Firma: yo
>
> *N�mero obtenido de una galera.