[Ubuntu-cat] Fwd: Re: Dubte servidor

Joan Inglada Roig joan.inglada a gmail.com
dij abr 13 13:58:46 UTC 2017


Òndia ho acabo de veure a:
http://php.net/manual/es/mysqli-stmt.bind-param.php

El dia 13 d’abril de 2017 a les 15:50, Joan Inglada Roig <
joan.inglada a gmail.com> ha escrit:

> Miki, perdona que abusi...
>
> Per cert, què significa l'enllaç a 'xkcd'?
>
> A veure si ho entenc; suposem 2 camps varchar i 1 int: seria així?
>
> $stmt = $dbConnection->prepare('INSERT INTO inscrits (nomCognoms, adreca,
> quota ) values (?, ?, ?)');
> $stmt->bind_param('s', $nom, 's', $adreca, 'i', $quota);  // els
> varchar->'s' i els int 'i'?
>
> $stmt->execute();
>
> Salut!
>
>
>
>
> El dia 12 d’abril de 2017 a les 13:45, Miki <mikcat a gmail.com> ha escrit:
>
>> $nom = $_POST['nom'];
>>
>>   $query = "INSERT INTO inscrits (nomCognoms, ...) values
>>                                   ('$nom',...)";
>>
>> $nom és tal qual lo que t'envien del formulari, i si t'envien:
>>
>> unnom'); DROP TABLE inscrits;--
>>
>> la query anterior queda com:
>>
>> INSERT INTO inscrits (nomCognoms, ...) values
>>                                   ('unnom'); DROP TABLE inscrits;--',...)
>>
>> https://xkcd.com/327/
>>
>> Això és un exemple clàssic, mai pots confiar en l'input de l'usuari
>>
>> per evitar-ho, com diuen a la resposta d'stackoverflow
>>
>> $stmt = $dbConnection->prepare('NSERT INTO inscrits (nomCognoms, ....)
>> values (?, ...)');
>> $stmt->bind_param('s', $nom);
>>
>> $stmt->execute();
>>
>> sanititzar vol dir escapar/treure tots els caràcters reservats "que poden
>> fer mal" al lloc on faràs servir aquell valor
>> per exemple per sql les comilles simples ' s'escaparien \'  i el input
>> anterior ja no et faria mal.
>> per html els tags <script> es convertirien a entities <script> el
>> que evita que et colin javascript maliciós quan pintes aquell camp
>> directament per pantalla
>> etc, etc, etc
>>
>>
>>
>> El dia 12 d’abril de 2017 a les 13:18, Joan Inglada Roig <
>> joan.inglada a gmail.com> ha escrit:
>>
>>> Bé, Miki, gràcies, però m'ho he pensat abans de posar-ho. No hi ha cap
>>> nom real. La url és pública. On és el perill? Què vol dir "sanititzis els
>>> params"?
>>>
>>> El dia 12 d’abril de 2017 a les 11:56, Miki <mikcat a gmail.com> ha
>>> escrit:
>>>
>>>> bufff....  mai hauries de fer això, i si és codi real, encara menys
>>>> publicar-ho en una llista de correu pública amb la url.
>>>>
>>>> Et recomano fer un cop d'ull a
>>>> http://stackoverflow.com/questions/60174/how-can-i-prevent-s
>>>> ql-injection-in-php
>>>>
>>>> I que sanititzis els params tan aviat com puguis
>>>>
>>>> No sé si algun administrador de la llista pot esborrar aquests 2
>>>> missatges... o com a mínim amagar-los
>>>>
>>>> El dia 12 d’abril de 2017 a les 10:41, Joan Inglada Roig <
>>>> joan.inglada a gmail.com> ha escrit:
>>>>
>>>>> Aquí tens un esquema del que es fa per a obtenir les inscripcions:
>>>>>
>>>>> En el inscripcions.php hi ha això:
>>>>>
>>>>>  <form id="formu" name="formu" method="post" action="anotacions.php" onReset="controlaCaselles();">
>>>>>
>>>>> ...
>>>>>
>>>>> <tr><td width="191">Nom i cognoms:</td><td colspan="3"><input name="nom" id="nom" size="40" type="text" /></td></tr>
>>>>>
>>>>> ...  i així tots els camps del formulari. Al final hi ha un control
>>>>> antirobots i el tancament:
>>>>>
>>>>> <tr><td colspan="5"><input name="envia" id="envia" value="Envia" onClick="return validaHo();" type="button" /><input name="neteja" id="neteja" value="Neteja" type="reset" /></td></tr>
>>>>>
>>>>> En anotacions.php hi ha:
>>>>>
>>>>> // Connexió a la base de dades
>>>>>
>>>>> $link = mysql_connect('localhost', 'usuari', 'contrasenya')
>>>>>        or die('Error de connexió: ' . mysql_error());
>>>>>     mysql_select_db('basededades') or die('base de dades
>>>>> inaccessible');
>>>>>
>>>>> // Prenem les dades que ens arriben per post
>>>>>
>>>>>      $nom = $_POST['nom'];
>>>>>
>>>>> ... i així tots els camps del formulari
>>>>>
>>>>> echo "<tr><td>Nomo / Nom</td><td>$nom</td></tr>";
>>>>>
>>>>> ... i així tots els camps del formulari
>>>>>
>>>>> // Sentència SQL a executar
>>>>>
>>>>>     $query = "INSERT INTO inscrits (nomCognoms, ...) values
>>>>>                                   ('$nom',...)";
>>>>>      $rs = mysql_query($query,$link) or die($error.'[S\'ha produït un
>>>>> error quan s\'intentava donar d\'alta la nova inscripció]' .
>>>>> mysql_error($link));
>>>>>
>>>>> <p>Enhorabona! Us heu inscrit correctament</p>
>>>>>
>>>>> <p><a href="http://www.esperanto.cat/kongresoj/2017/index.php?llen
>>>>> gua=1">Clica aquí per tornar a la pàgina principal</a></p>
>>>>>
>>>>> <p>Imprimiu la inscripció amb Ctrl P</p>
>>>>>
>>>>> ------------------------------------------------------------
>>>>> ------------------------------------
>>>>>
>>>>> Això és tot:
>>>>>
>>>>> El que jo preguntava és si coneixeu la manera de crear automàticament
>>>>> un pdf que s'enviés també automàticament a l'adreça de correl que està en
>>>>> un dels camps del formulari?
>>>>>
>>>>> Salut!
>>>>> Joan
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> El dia 11 d’abril de 2017 a les 16:28, Joan Carles <
>>>>> palimsesto a gmail.com> ha escrit:
>>>>>
>>>>>> El 11/04/17 a les 15:08, Joan Inglada Roig ha escrit:
>>>>>>
>>>>>> Bones! No sé si podré ajudar gaire, però segurament que podré
>>>>>> aprendre alguna cosa.
>>>>>>
>>>>>> Preàmbul: Sóc membre de l'Associació Catalana d'Esperanto i visc a
>>>>>> Agulló-Àger, al peu del Montsec, on hi ha un Parc Astronòmic. La ciutat més
>>>>>> esperantista de Catalunya ha estat històricament Sabadell i alguns dels
>>>>>> esperantistes sabadellencs són socis gairebé fundadors de l'Agrupació
>>>>>> Astronòmica de Sabadell i des que es va inaugurar el Centre d'Observació de
>>>>>> l'Univers que estan proposant que el congrés bianual dels esperantistes
>>>>>> catalans es faci a Àger.
>>>>>>
>>>>>> Enguany ha tocat i jo que sóc un vell (una mica ->) informàtic -des
>>>>>> del 1969- he estat encarregat de les pàgines del congrés
>>>>>> <http://www.esperanto.cat/kongresoj/2017> i tot està muntat en
>>>>>> sistema php i mysql. El que no sabia ho he preguntat a fòrums i la cosa
>>>>>> rutlla.
>>>>>>
>>>>>> El que jo he fet és que un cop la gent omple la inscripció al
>>>>>> congrés, que es guarda en una taula sql, faig aparèixer un resum a la
>>>>>> pantalla amb la nota de que s'ho guardin amb Ctrl P i al llegir això del
>>>>>> formulari he pensat que seria interessant trobar la manera de guardar la
>>>>>> inscripció en document pdf i enviar-lo a l'adreça electrònica del inscrit.
>>>>>>
>>>>>> Si m'estic posant on no em demanen m'ho dieu i plego!
>>>>>>
>>>>>> Salut,
>>>>>> Joan
>>>>>>
>>>>>>
>>>>>>
>>>>>> Hola!
>>>>>> Penso que aquí tothom pot dir la seva i els que no sabem, aprendrem.
>>>>>> No se si t'agafe del tot, però potser dius que...."poses un codi amb
>>>>>> la notació de Ctrl P, es guarda en pdf i es poguera rebre a casa", llavors
>>>>>> s'ha generat un document pdf amb les dades omplertes al formulari, no? i
>>>>>> que apareix al lloc on s'han dirigit del servidor. Correcte?
>>>>>>
>>>>>> D'entrada, jo no se crear el codi que dius en php però que aparega el
>>>>>> que dius, tan de bo ho sabera; i bo mostrar-les d'altra forma sí ho veig
>>>>>> interessant...però tinc limitacions.
>>>>>> Fins on vols anar a parar?...doncs a la creació d'un nou format si et
>>>>>> segueixo, però mès no acabo d'albirar-ho.
>>>>>>
>>>>>> Potser, és un pèl més del que demanava jo, que es circunscrivia només
>>>>>> a llegir les dades del formulari al servidor creat, però que si es pot fer
>>>>>> de manera fàcil sóc tot oïdes.
>>>>>>
>>>>>> Mentre estic tractant de d'instal.lar "bootstrap" i s'instal.la,
>>>>>> segon sembla,però després no puc veure on és per engegar-lo i veure les
>>>>>> plantilles, però també és altre tema i no anem a barrejar.
>>>>>>
>>>>>> Gràcies per afegir noves possibilitats, però tenen limitacions per mi
>>>>>> ara per ara.
>>>>>>
>>>>>> --
>>>>>> Salutacions,
>>>>>>
>>>>>> Joan Carles
>>>>>> Usuari GNU/Linux #324197#http://counter.li.org/
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Ubuntu-cat mailing list
>>>>>> Ubuntu-cat a lists.ubuntu.com
>>>>>> Modify settings or unsubscribe at: https://lists.ubuntu.com/mailm
>>>>>> an/listinfo/ubuntu-cat
>>>>>>
>>>>>>
>>>>>
>>>>> --
>>>>> Ubuntu-cat mailing list
>>>>> Ubuntu-cat a lists.ubuntu.com
>>>>> Modify settings or unsubscribe at: https://lists.ubuntu.com/mailm
>>>>> an/listinfo/ubuntu-cat
>>>>>
>>>>>
>>>>
>>>> --
>>>> Ubuntu-cat mailing list
>>>> Ubuntu-cat a lists.ubuntu.com
>>>> Modify settings or unsubscribe at: https://lists.ubuntu.com/mailm
>>>> an/listinfo/ubuntu-cat
>>>>
>>>>
>>>
>>> --
>>> Ubuntu-cat mailing list
>>> Ubuntu-cat a lists.ubuntu.com
>>> Modify settings or unsubscribe at: https://lists.ubuntu.com/mailm
>>> an/listinfo/ubuntu-cat
>>>
>>>
>>
>> --
>> Ubuntu-cat mailing list
>> Ubuntu-cat a lists.ubuntu.com
>> Modify settings or unsubscribe at: https://lists.ubuntu.com/mailm
>> an/listinfo/ubuntu-cat
>>
>>
>
-------------- part següent --------------
Un document HTML ha estat eliminat...
URL: <https://lists.ubuntu.com/archives/ubuntu-cat/attachments/20170413/94c478fe/attachment-0001.html>


Més informació sobre la llista de correu Ubuntu-cat