Ievades datu pārbaude (PHP)
autors: root
Problēma tur, ka nepārtraukti atrodas kāds kas atkārto mūžīgo jautājumu - kā pārbaudīt PHP ievades datus, jeb $_GET un $_POST. Un man ir apnicis katram to skaidrot- Lūk Jums ar ko sākt. Funkciju izmantoju jau pasen, bet tā nav pilnīga un atsevišķi dati atsevišķās vietās var prasīt savādāka veida apstrādi.
| Citēt: |
|
function check($str) /// Ievades un datu pārbaude { if (get_magic_quotes_gpc()) $str = stripslashes($str); $str = htmlentities($str, ENT_QUOTES, 'UTF-8'); $str = str_replace("../'", ''', $str); $str = str_replace("./'", ''', $str); $str = str_replace(".\'", ''', $str); $str = str_replace("..\'", ''', $str); $str = str_replace("\'", ''', $str); $str = str_replace('\r\n', '<br>', $str); $str = str_replace('\\', "\", $str); $str = str_replace('|', 'I', $str); $str = str_replace('||', 'I', $str); $str = str_replace('/\\\$/', '$', $str); $str = str_replace('[l]http://', '[l]', $str); $str = str_replace('[l] http://', '[l]', $str); $str = mysql_real_escape_string($str); return $str; } foreach ($_GET as $ig => $value_g) { $_GET[$ig] = check($value_g); } foreach ($_POST as $ip => $value_p) { $_POST[$ip] = check($value_p); } |
Kods jāpievieno skripta pašā sākumā, vēlams uzreiz pēc SQL pieslēgšanas, ja SQL neizmantojam aizvācam rindu - $str = mysql_real_escape_string($str); . Ja izmantojam include/require ko mēs noteikti darām, tad šo koda gabalu liekam include faila sākumā, gan jau ir kāds PHP fails kurš iekļaujas visos, tur konfigs vai kas, galvenais lai vienmēr iekļautos pirms datu apstrādes.
Komentāri
Saistītās tēmas

Mad182 : 20 Augusts 2010 14:02:00
root : 20 Augusts 2010 14:44:34
daGrevis : 20 Augusts 2010 14:59:50
root : 20 Augusts 2010 15:08:59
rATRIJS : 20 Augusts 2010 15:15:56
Crow : 20 Augusts 2010 15:31:14
daGrevis : 20 Augusts 2010 16:43:11
Tā varētu būt. bet tas ir tikai piemērs. xD
_________________
Think of how stupid the average person is, and realize half of them are stupider than that. /George Carlin/
http://twitter.com/#!/daGrevis
http://last.fm/user/daGrevis
http://ask.fm/daGrevis
http://dagrevis.lv/
root : 20 Augusts 2010 18:19:34
daGrevis : 20 Augusts 2010 21:09:23
Hmm, nu nezinu vai '()', t.i. divi baiti, mainīs pasauli, bet ok, ņemšu vērā. =)
_________________
Think of how stupid the average person is, and realize half of them are stupider than that. /George Carlin/
http://twitter.com/#!/daGrevis
http://last.fm/user/daGrevis
http://ask.fm/daGrevis
http://dagrevis.lv/
root : 20 Augusts 2010 21:18:48
Mad182 : 20 Augusts 2010 21:26:53
foxsk8 : 20 Augusts 2010 21:51:25
Caur style elementu, var arī nepatīkamus jokus saveidot. Līdz ar to, reāli vēl vajadzētu dažus parametrus tai tavai funkcijai papildināt, un man liekas, ka reāli tie slaši tev tur ir par daudz salikti. Atliek taču tikai vienu reizi replace / vai \,
$str = str_replace('/', '', $str);
$str = str_replace('\\', '', $str);
echo stripslashes($str);
_________________
https://twitter.com/foxsk8
https://twitter.com/notepadlv
https://twitter.com/styleweblv
Profesionāla mājas lapu izstrāde | Styleweb.lv
Crow : 20 Augusts 2010 21:54:06
Un kā vēl ietekmēs, krutais koderi. TvajuMaķ ir pilnīga taisnība par tematu.
Lūk, tieši tieši tāpēc IT ir pakaļā, ka nevienam nerūp šādas elementāras lietas.
daGrevis : 20 Augusts 2010 22:18:22
Mad182 : 20 Augusts 2010 22:29:23
daGrevis : 20 Augusts 2010 22:37:22
Crow : 20 Augusts 2010 22:46:37
root : 20 Augusts 2010 23:16:44
Mad182 : 21 Augusts 2010 7:40:28
DEV versija ir viegli lasāma, ar komentāriem, gģe nado, un tiri-piri.
Man domāt, ka laikā, ko Tu pavadi dzešot komentārus un atstarpes, tiek patērēts vairāk resursu, nekā tas jebkad prasītu no servera to kodu izpildot. To laiku labāk lietderīgi izmantot, izdomājot kā kādu sarežģītaku kveriju iekešot vai no tāda izvairīties, nevis dzenāt bitus. Bet ko nu es saprotu...
_________________
100% Microsoft free
Aldis : 21 Augusts 2010 10:41:23
daGrevis : 21 Augusts 2010 11:57:07
rATRIJS : 21 Augusts 2010 12:52:41
Mad182 : 21 Augusts 2010 13:13:14
_________________
100% Microsoft free
usver : 21 Augusts 2010 13:24:46
Crow : 21 Augusts 2010 15:22:22
Tāpēc jau PRODUCTION versija saucās tā, ka to uzmeiko tikai pāris reizes visā lifecycle; kad viss pārējais ir izdarīts. Kas attiecas uz minēto kveriju optimizēšanu, tev pilnīga taisnība. Taču ja reiz runa iesākās par iekavām un tiri piri, tad es iespēru savus divus eiro centus...
foxsk8 : 21 Augusts 2010 15:57:57
<><>
Šādi jau viss šancē
_________________
https://twitter.com/foxsk8
https://twitter.com/notepadlv
https://twitter.com/styleweblv
Profesionāla mājas lapu izstrāde | Styleweb.lv
root : 21 Augusts 2010 23:34:16
Mad182 : 22 Augusts 2010 10:14:50
usver : 22 Augusts 2010 10:52:44
daGrevis : 22 Augusts 2010 23:18:26
Crow : 22 Augusts 2010 23:26:08
Grāvi, krekeri tev un kvakss no manis! Atgādināji man, ka sākot no 5.2 eksistē tak šitas brīnums!