Sākumlapa › Forumi › Mājas lapu izstrāde › Servera puse (php, java, ruby, perl, python) › Ievades datu pārbaude (PHP)
nav
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(‘rn’, ‘
‘, $str);
$str = str_replace(‘\’, “”, $str);
$str = str_replace(‘|’, ‘I’, $str);
$str = str_replace(‘||’, ‘I’, $str);
$str = str_replace(‘/\$/’, ‘$’, $str);
$str = str_replace(‘[l]https://’, ‘[l]’, $str);
$str = str_replace(‘[l] https://’, ‘[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.
Ko Tev ļaunu nodarījušas “|”, ka tās tik ļoti vajag izravēt?
Tā pat, kāpēc pieņemt, ka nekur nekad nebūs nepieciešams saņemt lietojamu html kodu no postotajiem datiem? HTML var noravēt nost tur, kur tas vajadzīgs.
Tā pat nav nekādas jēgas šito monstru laist virsū tur, kur tā pat var ievadīt tikai skaitli. Daudz vienkāršāk un drošāk būs izmantot intval() vai (int) mainīgā tipam un viss…
+ ja reiz tomēr šādi gribas darīt, kāpēc visu drauzu nesarakstīt vienā īsā masīvā, bet gan saukt str_replace miljons reizes?
Ai labi, neesmu speciālists, bet kāda briesmīgi līka man tā funkcija izskatās. Tu protams vari lietot ko vien gribi, bet nevajag to mācīt citiem, kā pareizo ceļu.
+ Mad182, bet gan jau, kaads panjems. Tik ja panjems kaads kas neko nesaprot, tad sekos jautaajumu veetra kaadeelj ar manu variabli notiek taa un shitaa…
daGrevis: exit (vai die) izmantot tajaa gadiijumaa nav labi
Tā varētu būt. bet tas ir tikai piemērs. xD
daGrevi, kam tev lieki biti kodā? exit darbojas arī bez () tb exit; un viss
daGrevi, kam tev lieki biti kodā? exit darbojas arī bez () tb exit; un viss
Hmm, nu nezinu vai ‘()’, t.i. divi baiti, mainīs pasauli, bet ok, ņemšu vērā. 🙂
div style=”display:none;”
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 = str_replace(’/’, ”, $str);
$str = str_replace(’\’, ”, $str);
echo stripslashes($str);
iekavas nekādi neietekmēs ne ātrdarbību, ne lasāmību.
Un kā vēl ietekmēs, krutais koderi. TvajuMaķ ir pilnīga taisnība par tematu.
Un jā, cik lasīts, tā arī ir – ar iekavām ir lēnāk. 😛
Koda optimizācija protams ir svarīga lieta, bet sākt tomēr vajag ar reālajā dzīvē jūtamām lietām, strīdēties par iekavu lietošanu un pēdiņu veidu vairāk tomēr var dēļ stila, ne īstas ātrdarbības.
DEV versija ir viegli lasāma, ar komentāriem, gģe nado, un tiri-piri.
PRODUCTION versija ir viena gara pentere, kurā nav nekā lieka.
Pagaidām gan viss notiek ar roku pārsvarā, bet plānoju padarīt automatizētu, taču esmu par slinku. Katram ir kāda uts. Turklāt dažādi tūļi jau ir, bet tad atkal – es cenšos maksimāli izvairīties no 3rd party shit.
Ä€, un tieši tāpēc XML smird pēc gangrēnas. Drausmīga liekvārdība un pļurza. I will hate it 4ever.
Web aplikācijām jābūt lightening fast pēc iespējas. un jo ātrāk, jo labāk. Lasāms kods vēl nenozīmē skillz un Fox – slašiem tur jābūt 🙂 Wnk tici uz vārda
Tāpēc es savam kodam veidoju divas relīzes – DEV un PRODUCTION.
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…
Preses relīzes