Jump to content
php.lv forumi

mysql inj un drošība


Vecteevs

Recommended Posts

Vienmēr jāliek, ja vien tu neesi 100% drošs par to saturu.

par to 100% drošību, piemēram $a = (int)$_POST['blabla'], $a ir 100% drošs mainīgais, jo viņš vienmēr būs skaitlis. Visi mainīgie, kas ir string tipa, noteikti ir jā-eskeipo ar mysql_real_escape_string().

Link to comment
Share on other sites

Sesijai vari piekļūt tikai tu pats, ko tur saglabāsi, tas tur arī būs.

Vienīgi, sesijas var nozagt, konkrētāk, ja tev lapā ir kāds xss caurums, tad ļaundaris var ievietot tur kādu ļaunu js kodu, kas nozog lietotājiem sesijas identifikatoru, kas glabājas sīkdatnē. (PHPSESSID parasti). Vēlāk viņš šo sīkdatni var izmantot, un uzdoties kā apzagtais lietotājs (piemēram, administrators).

Lai no tā izvairītos, sesiju var piesaistīt, teiksim, lietotāja IP (nav labs variants, ja lietotājam mainās IP regulāri (wifi, dinamiskā IP)), vai pārlūka versijai (USER_AGENT). Šos identificējošos datus saglabā sesijā un katru reizi nočeko, vai viņi sakrīt ar reālajiem - ja nesakrīt, sesija ir zagta - unset($_SESSION).

Link to comment
Share on other sites

Briedi, par sesijam, manliekas, tev nav taisnība. Faktiski, sesijas stāv failos serverī, un, ja servera adminam līkas rokas, ļaundaris var tikt pie datu rediģēšanas.

Tomēr, labākais stils ir eskeipot visu, pat variable nosaukumus.

 

 

Nu es šo variantu nemaz nepieminēju, jo tas ir "augstāks spēks", risks, kas pastāv vienmēr, un, cik maz zināms, koderis pret to nemaz nevar cīnīties :)

Link to comment
Share on other sites

skatoties pēc šī koda

<?php
# Returns session variable $idx or $default, if not found
function getsvar($idx, $default = false) {
   global $_SESSION;
   #print_r($_SESSION[$idx]);
   return isset($_SESSION[$idx]) ? $_SESSION[$idx] : $default;
}

# Sets session variable $idx to value $value
function setsvar($idx, $value) {
   global $_SESSION;
   $_SESSION[$idx] = $value;
}

sapratu ka $idx ir tas lietotāja id?

bet kas ir domāts $default?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...