Jump to content
php.lv forumi

GET [ID] tīrīšana


Mikijs

Recommended Posts

Man iepriekš vienc jautāja kā tīrīt GET [iD] , nebija laika atbildēt.. rekur atbilde ja nu vajag

 

$tirit = ($_GET['id']);
function cleanQuery($tirit)
  {
  if(get_magic_quotes_gpc())
  {
$tirit = stripslashes($tirit);
  }
  if (phpversion() >= '4.3.0')
  {
$tirit = mysql_real_escape_string($tirit);
  }
  else
  {
$tirit = mysql_escape_string($tirit);
  }
  return $tirit;
}

Edited by Mikijs
Link to comment
Share on other sites

Nu nezinu, manuprāt īsti labi nav šāda vienota funkcija. 1) Defaultā būtu jaliek magic_quotes off, kaut vai ar ini_set(), ja nav pieeja php.ini - ir pierādīts ka viņas ilgtermiņā rada liekas problēmas.

2) Gandrīz katrs gadījums, kad jāpārbauda kāda ienākošā vērtība ir unikāls tapēc vienotas funkcijas, vismaz tik primitīvas nav labas. Vienkāršāk katram gadījumam ir uzrakstīt savus noteikumus. Piemēram, ja id vajag kā int varam viņu vienkārši typecastot, kas ir daudz ātrāk: $id = (int)$_GET['id']; Ja zinam, ka id ies uz db pieprasījumu, tad arī lietojam real_escape_string. Jo tikai pēc php versijas čekot būtu muļķīgi, ja nu nav eneiblots myqsl. Un, manuprāt, ja hostam vēlaizvien stāv php < 4.4 tā jau ir nolaidība.

Link to comment
Share on other sites

vairāk ir domāta stringu apstrādei pirms ievietošanas kverijā, nevis ID apstrādai

Es gan konkreti sapratu ka ID ... jo kursh gan normali pados stringus caur GET ......

piedevam ja ta ir stringiem tad tur trukst 1 nozimigas daljas ... tb. trim() ... savadak useris var padot lielu chupu ar tuksumiem (atstarpem utt..)

& trukst varinta kas izgriezj liekos /n (un apgriezj visu kas nu vairak vai mazak nav vajadziigs...)

----

Pilniba daljeji piekritu Lynxv , ka katrs gadijums ir samera unikals, bet tomer ir iespejams izveidot paris atseviskjas funkcijas ko tad pec vajadzibas arii pielieto....

---

Nu nav parak erti viesiem tekstiem likt klat trim(), mysql_real_escape_string() & citas darbibas.... vienkarsak tomer izveidot savu funkciju.....

Link to comment
Share on other sites

×
×
  • Create New...