Php get metodu və şifrələmə

Salam
Php ilə get metodu ilə bir dəyər götürəndən sonra mysql sorğuda işlədirik e həmin dəyəri bir şifrələmə funksiyası ilə şifrələyib işlədə bilərik bu zaman inyeksiya zad olmaz məsələn:

$a=md5($_get[‘url’]);
Mysqli_query($connect,”delete from users where id=$a”);

Sizcə bu yaxşı üsuldur?


Yadda saxlama
Kateqoriya: Sual . . Qısa keçid.

Verilmiş cavablar və yazılan şərhlər (2 cavab var)

(00:22, 13/02/2016 ) #61478

Salam.
Yox yaxşı üsul deyil.
md5-ləmək inyeksiyadan filandan xilas edir bəli. Amma bu tip əməliyyatlar adətən id-yə görə aparılır deyə burada mütləq ədəd olmalıdır(həm sürət, həm indeksləmə, həm aydınlıq və.s. üçün).
Təhlükəsizlik barədə olan məqama gəldikdə isə təhlükəsizliyə vizual yox, məntiqi əməliyyat kimi baxmaq lazımdır. Yəni delete=5 olmasında qorxulu heç nə yoxdur, əsas odur ki delete=5-in tətbiq olunduğu blokda ciddi yoxlama olsun. (a-nin integer olması yoxlanılsın, cari userin bu id-li xananı silmə səlahiyyətinin olması yoxlanılsın). Bu tip məntiqi yoxlama olandan sonra get parametrində ədədləri şifrələyib bazada saxlamağın əsası qalmır.
Security məsələləri barədə bu qədər. Keçək privacy-yə. Yox əgər tutaq ki, istifadəçinin id-sinin bilinməsi security olmasa da privacy baxımdan düzgün deyilsə, o halda hər hansı riyazi operatorla GET parametrini bazadakı ədədə çevirmək olar. Yəni əsas odur alınan nəticə də ədəd olsun, md5-in uzun stringi yox.
Məsələn $baza_id=3*$get_id-2 filan.

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(19:33, 14/03/2016 ) #62113

Yaxşı üsul deyil, Çünki md5 şifrələyəcək bir ədəd bərabər olacaq bir neçə simvollar yığını və mysql bazadan məlumat ala bilməyəcək. İnjeksiya olmaması üçün mənim yığdığım və istifadə etdiyim bu funskiyadan keçirməyin bəs edər. Bu funksiya injecsiya yarada biləcək simvolları filtrləyir və təhlükəsizləşdirir.


function qoru($var){
	$var = @trim($var);
	$var = @htmlspecialchars($var);
	$var = @stripslashes($var);
	$var = @mysql_escape_string($var);
	return $var;
	}

$url = qoru($_get[‘url’]);
$a = $url
$qoshul = Mysqli_query($connect,”delete from users where id=$a”);

Funksiyanı hər səhifəyə ayrıca çağırmağa ehtiyac yoxdur, sadəcə function.php, config.php ve s. kimi bir fayla funksiyani at və bütün sənədlərə include et. Bu qədər. Ən təhlükəsiz üsuldur.
Bu usulu tekce id yeni reqem tipli dəyişənlərdə yox bütün GET və ya POST-la aldığın və MYSQL-e verdiyin dəyişənləri bu funksiyadan keçirdikdən sonra MYSQL-ə ötür.

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

Bu suala aid öz sualım var:
Sual verin
Bu suala cavab vermək istəyirəm:
Cavab verin

Cavab verin


Cavab yazmaq üçün lütfən sağ sütundan və ya buradan hesaba daxil olun.

Üzvlər üçün giriş

Qeydiyyat

Elan qutusu

Son cavablar və şərhlər

Triste cavab verdi - Adsense ya görə VÖEN gəlir vergisi 20% istəyirlər (1 gün əvvəl)

E. Hacı cavab verdi - Adsense ya görə VÖEN gəlir vergisi 20% istəyirlər (2 gün əvvəl)

Triste cavab verdi - Adsense ya görə VÖEN gəlir vergisi 20% istəyirlər (8 gün əvvəl)

Software Developer cavab verdi - Adsense ya görə VÖEN gəlir vergisi 20% istəyirlər (8 gün əvvəl)

Triste cavab verdi - Google Adsense vergi (9 gün əvvəl)

E. Hacı cavab verdi - Xif mn kodu (17 gün əvvəl)

Khagrov cavab verdi - Axtardığım mahnını tapa bilmirəm kömək edin (35 gün əvvəl)

E. Hacı cavab verdi - Dünəndən Kompüterlə Twitter/X və Pinterest -ə girə bilmirəm. (42 gün əvvəl)

orkhanrza cavab verdi - AZ9095də bağlama qalıb (47 gün əvvəl)

Ismayil1997 cavab verdi - İndiki dövrdə İngilis dili müəllimliyi ixtisasını seçməyə dəyər? (56 gün əvvəl)

revan orucov cavab verdi - Bakıda evə 100mbps+ internet verən provayder var? (60 gün əvvəl)

E. Hacı cavab verdi - WordPress sistemli saytda Facebook və İnstagram platformalarına özəl target_blank tənzimlənməsi haqqında... (62 gün əvvəl)

Jurnalist cavab verdi - WordPress sistemli saytda Facebook və İnstagram platformalarına özəl target_blank tənzimlənməsi haqqında... (62 gün əvvəl)

asssa1 cavab verdi - Riyazi proqramlar üçün proqram (64 gün əvvəl)

Aleks cavab verdi - İndiki dövrdə İngilis dili müəllimliyi ixtisasını seçməyə dəyər? (70 gün əvvəl)

Software Developer - 615 xal

E. Hacı - 608 xal

Onar Alili - 526 xal

Dilsuz - 448 xal

Cabbarov Sübhan - 434 xal

Maqa - 346 xal

Ruslan Butdayev - 328 xal

Namiq Bəndəli - 297 xal

U.Tarlan - 244 xal

Meherremoff - 234 xal

Sistemə daxil olmuş 23289 sualdan 92%-dən çoxu cavablandırılmışdır.

Proyekt haqqında

E-Haci.net istehsalı. © 2010-2024