Wuu Posted February 22, 2008 Report Share Posted February 22, 2008 Vai pietiek ar htmlspecialchars(); lai saglabātu postu mysql datubāze 100% zinot ka neko ļaunu nevar nodarīt? Link to comment Share on other sites More sharing options...
PheliX Posted February 22, 2008 Report Share Posted February 22, 2008 htmlspecialchars jālieto lai tekstu izvadītu htmlā. Lai liktu datubāzē jālieto attiecīgās datubāzes eskeipošana ( http://au2.php.net/manual/en/function.mysq...cape-string.php vai http://au2.php.net/manual/en/function.mysq...cape-string.php atkarībā kādu extension lieto ) Link to comment Share on other sites More sharing options...
Wuu Posted February 23, 2008 Author Report Share Posted February 23, 2008 Bet vai tad htmlspecialchars(); nenoņem visas pēdiņas un vissus citus simbolus ? Un abos tavos piemēros funkcijas tiek iedarbinātas pēc query tādējādi padarot viņas bezjēdzīgas ievadot datus :/ Link to comment Share on other sites More sharing options...
andrisp Posted February 23, 2008 Report Share Posted February 23, 2008 Wuu, jaa, htmlspecialchars aizvieto peeedinjas, bet vinja nav paredzeeta tam, ko gribi dariit. mysql_real_escape_string tam ir paredzeets. taa arii aizvietos visaadas citaadas lietas, kas vareetu buut biistamas. un nezinu, kur tu izraavi, ka vinjas tiek iedarbinaatas peec kverija izpildes. Link to comment Share on other sites More sharing options...
Wuu Posted February 23, 2008 Author Report Share Posted February 23, 2008 Wuu, jaa, htmlspecialchars aizvieto peeedinjas, bet vinja nav paredzeeta tam, ko gribi dariit. mysql_real_escape_string tam ir paredzeets. taa arii aizvietos visaadas citaadas lietas, kas vareetu buut biistamas. un nezinu, kur tu izraavi, ka vinjas tiek iedarbinaatas peec kverija izpildes. Kā tur piemēri linkos bija visur zem qwery ,kā tad man mysql_real_escape_string lietot? Link to comment Share on other sites More sharing options...
andrisp Posted February 23, 2008 Report Share Posted February 23, 2008 Paraadi tieshi, kur tiek izpildiits peec. Es cik skatos, tad visur ir pirms. Varbuut tu jaucies, jo tajos piemeeros vispirms tiek paraadiits, kaa nedriikst un peec tam kaa driikst ? Link to comment Share on other sites More sharing options...
Wuu Posted February 23, 2008 Author Report Share Posted February 23, 2008 Nu labi lai būtu pilnīgi drošs man jāraksta šādi? $post = htmlspecialchars($_POST['textbox']); $post = real_escape_string($post); $mysql_query ... Link to comment Share on other sites More sharing options...
Grey_Wolf Posted February 23, 2008 Report Share Posted February 23, 2008 nevajag aizmirst par tadu labu lietu kaa trim().... Link to comment Share on other sites More sharing options...
andrisp Posted February 23, 2008 Report Share Posted February 23, 2008 Nu parasti gan htmlspecialchars izsauc kad izvada datus (nosuuta klientam) nevis pirms ierakstiishanas db, bet nu taa arii var dariit. Link to comment Share on other sites More sharing options...
Wuu Posted February 23, 2008 Author Report Share Posted February 23, 2008 (edited) Nu parasti gan htmlspecialchars izsauc kad izvada datus (nosuuta klientam) nevis pirms ierakstiishanas db, bet nu taa arii var dariit. Nu es to lietoju lai nevar html kodu iepostot piem. <img src='kaut kāda bilde'> :) Tad jau varbūt piemēram pirms visa php koda ielikt lopu kura iziet cauri $_GET $_POST trim(); htmlspecialchars(); real_escape_string(); izdara šis funkcija un miers? Edited February 23, 2008 by Wuu Link to comment Share on other sites More sharing options...
andrisp Posted February 23, 2008 Report Share Posted February 23, 2008 Teoreetiski jaa. ;) Nu es to lietoju lai nevar html kodu iepostot piem. <img src='kaut kāda bilde'> :) To es ljoti labi saprotu, bet ko es saku ir tas, ka parasti to izsauc pie datu izvades nevis pie datu saglabaashanas. Link to comment Share on other sites More sharing options...
Wuu Posted February 23, 2008 Author Report Share Posted February 23, 2008 (edited) To es ljoti labi saprotu, bet ko es saku ir tas, ka parasti to izsauc pie datu izvades nevis pie datu saglabaashanas. Kāda atšķirība pie ievades vai pēc ievades? Man liekas labāk uzreiz pie ievades un miers :) Edited February 23, 2008 by Wuu Link to comment Share on other sites More sharing options...
bubu Posted February 23, 2008 Report Share Posted February 23, 2008 Iedomājies, ka tev būs rediģēšanas forma, kurā varēsi pamainīt tekstu, kas jau ir ievadīts datubāzē. Tavā gadījumā, ja gribēsi likt iekš db tekstu: asdf<zzz>, tad tas tiks ielikts kā asdf<zzz> un tev būs jārediģē šāds teksts. Tev nāksies mainīt < un > un citas entītes atpakaļ uz < un >. Tas ir ērti? Ja htmlspecialchars izsauksi pie teksta IZVADES, tad db glabāsies tieši tāds teksts, kādu tu ierakstīji asdf<zzz> un rediģējot nebūs jāmaina visi <, > atpakaļ uz < un >. Link to comment Share on other sites More sharing options...
Wuu Posted February 23, 2008 Author Report Share Posted February 23, 2008 Iedomājies, ka tev būs rediģēšanas forma, kurā varēsi pamainīt tekstu, kas jau ir ievadīts datubāzē.Tavā gadījumā, ja gribēsi likt iekš db tekstu: asdf<zzz>, tad tas tiks ielikts kā asdf<zzz> un tev būs jārediģē šāds teksts. Tev nāksies mainīt < un > un citas entītes atpakaļ uz < un >. Tas ir ērti? Ja htmlspecialchars izsauksi pie teksta IZVADES, tad db glabāsies tieši tāds teksts, kādu tu ierakstīji asdf<zzz> un rediģējot nebūs jāmaina visi <, > atpakaļ uz < un >. Nu ja tu vēlies lai kāds varētu lietot šādus pastulbus loginus tad jā ,bet man jau sen stāv if ((ereg("^[A-Za-z0-9_]*$",$login)) && (ereg("^[A-Za-z0-9_]*$",$pass)) && (ereg("^[A-Za-z0-9_]*$",$pass2)) && (ereg("^[A-Za-z0-9_]*$",$pin))) { } else { $error .='Neatļauti simboli ievades datos.<br>'; } Link to comment Share on other sites More sharing options...
bubu Posted February 23, 2008 Report Share Posted February 23, 2008 Tad kāda jēga vēl htmlspecialchars un real_escape_string laist virsū, ja jau atļauj tikai burtus, ciparus un _? Link to comment Share on other sites More sharing options...
Recommended Posts