Jump to content
php.lv forumi

Vai pietiek ar htmlspecialchars();?


Recommended Posts

Posted

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 :/

Posted

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.

Posted
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?

Posted

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 ?

Posted

Nu labi lai būtu pilnīgi drošs man jāraksta šādi?

$post = htmlspecialchars($_POST['textbox']);
$post = real_escape_string($post);
$mysql_query ...

Posted (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 by Wuu
Posted

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.

Posted (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 by Wuu
Posted

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 >.

Posted
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>';
		}

×
×
  • Create New...