Jump to content
php.lv forumi

Kaa izgriezt sliktos simbolus?


NeoX

Recommended Posts

Man ir uztaisits memberships, es gribu uzlikt kaut kaadu nebuut droshiibu, lai ievadot parolu un/vai username nebuutu iespeejas palaist kaadu evil scriptu. userneimi un paroles glabaajas uz SQL.

 

Zinu, ka tas jaadara ar preg_replace() vai liidziigu f-ciju, bet iesakiet kaadus simbolus vajadzeetu izgriezt!

Link to comment
Share on other sites

Man ir uztaisits memberships, es gribu uzlikt kaut kaadu nebuut droshiibu, lai ievadot parolu un/vai username nebuutu iespeejas palaist kaadu evil scriptu. userneimi un paroles glabaajas uz SQL.

 

Zinu, ka tas jaadara ar preg_replace() vai liidziigu f-ciju, bet iesakiet kaadus simbolus vajadzeetu izgriezt!

16747[/snapback]

 

 

nevis izgriezt sliktos, bet aizliedz visus simbolus izņemot labos, tā būs garantija ka neesi aizmirsis kādu slikto noķert.

Link to comment
Share on other sites

daudz un dažādi veidi. skaties par regulārajam izteiksmēm un experimentējies.

te iesākumam viens piemērs kā no stringa izgriezt ārā tikai lielos un mazos burtus

preg_match_all(
'/[a-z]/i',
'\'"A!br*()&a ka!!!2 3 _° Dabra-.ka',
$m);
echo implode('',$m[0]);

Link to comment
Share on other sites

Nu jaa OK! Tik taalu es saprotu, bet kaa var tiem paterniem pievienot veel kaadu? Tevis dotajaa piemeeraa ir atljauts lietot tikai burtus, bet ja piemeeram man vajag burtus, ciparus un veel piem. "_". Kaa tad? Kaadaa taa patterna sintaxe ir?

Link to comment
Share on other sites

if (preg_match('@[a-z0-9_\.]@',$string))

echo 'strings satur ne tikai latīņu burtus, ciparus un punktu vai apakšstrīpu!';

Droši vien biji domājis: if (preg_match('@[^a-z0-9_\.]@',$string)) ne?

Link to comment
Share on other sites

Ja tev ir formā:

<input name="username"><input name="password">

un tu nosūtītos datus pārbaudi šādu sql kverijā vai ir tāds lietotājs:

$q = mysql_query("SELECT COUNT(*) FROM users WHERE name='".$_POST['username']."' AND password='".$_POST['password']."'");
list($cnt) = mysql_fetch_row($q);
if ($cnt==0) {
  // nav tāda usera
} else {
  // ir tāds useris
}

Tad vienkārši ievadot password lauciņā tekstu "blabla' OR 1" (bez " pēdiņām apkārt)kverijs vienmēr atgriezīs visu useru skaitu, tb lielāku par 0 vērtību un notiks veiksmīga ielogošanās.

Link to comment
Share on other sites

×
×
  • Create New...