🛡 PHP va MySQL Xavfsizligi: Xatolar, Xuruj Turlari va Himoyalanish Yo
13 May 2025
Shokirov Muhammaddiyor
811

🛡 PHP va MySQL Xavfsizligi: Xatolar, Xuruj Turlari va Himoyalanish Yo

Ushbu maqolada PHP va MySQL asosida veb-ilova yozishda sodir bo‘ladigan xavfsizlik xatolari — SQL injection, XSS, CSRF, parollarni noto‘g‘ri saqlash, xavfli fay

1. Kirish

PHP va MySQL — veb-dasturlar uchun eng ko‘p qo‘llaniladigan texnologiyalar. Ammo noto‘g‘ri yozilgan kodlar orqali ularni buzish juda oson. Ushbu maqolada xavfli kodlar, xujum usullari va ularning oldini olish yo‘llari ko‘rib chiqiladi.


2. Eng Ko‘p Uchraydigan Xavfsizlik Xatolari

🔸 a) SQL Injection (So‘rovga suqilib kirish)

Xavfli kod:

php CopyEdit $id = $_GET['id']; $query = "SELECT * FROM users WHERE id = $id";

Nima bo‘ladi?

http CopyEdit ?id=1 OR 1=1

Bu barcha foydalanuvchilarni chiqarib yuboradi.

Himoya usuli:

php CopyEdit $stmt = $pdo->prepare("SELECT * FROM users WHERE id = :id"); $stmt->execute(['id' => $_GET['id']]); ✅ PDO yoki MySQLi + tayyorlangan so‘rovlar (prepared statements) ishlating.

🔸 b) XSS (Cross-site Scripting)

Xavfli kod:

php CopyEdit echo $_GET['name']; Foydalanuvchi quyidagicha havola yuboradi:html CopyEdit <script>alert('hacked!')</script>

Himoya:

php CopyEdit echo htmlspecialchars($_GET['name'], ENT_QUOTES, 'UTF-8');

🔸 c) CSRF (Cross-Site Request Forgery)

Foydalanuvchi sahifani ochib, sizning sessiyangiz orqali zararli amal bajaradi.

Himoya:

  • Har bir POST so‘rovga token joylash.
  • $_SESSION bilan tokenni tekshirish.

3. MySQL Ma’lumotlar Bazasi Xavfsizligini Kuchaytirish

🔹 Foydalanuvchi Huquqlarini Cheklash

sql CopyEdit GRANT SELECT, INSERT ON mydb.* TO 'user'@'localhost'; Hech qachon root foydalanuvchisi orqali kod yozmang.

🔹 Parollarni saqlash

Xato:

php CopyEdit $password = $_POST['password'];

To‘g‘ri:

php CopyEdit $hash = password_hash($_POST['password'], PASSWORD_DEFAULT);

Va tekshirish:

php CopyEdit if (password_verify($input_password, $hash)) { // muvaffaqiyat }

4. Fayllarni Yuklash Xavfsizligi

🔸 Xavfli kod:

php CopyEdit move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/' . $_FILES['file']['name']);

🔸 Himoya:

  • Faqat ruxsat etilgan fayl turlariga ruxsat bering:
php CopyEdit $allowed = ['jpg', 'png', 'pdf'];
  • Fayl nomini o‘zgartiring:
php CopyEdit $filename = uniqid() . '.' . $ext;

5. Session va Cookie Xavfsizligi

🔹 Session hijacking oldini olish:

php CopyEdit ini_set('session.cookie_httponly', 1); session_start(); session_regenerate_id(true);

🔹 Cookie sozlamalari:

php CopyEdit setcookie("auth", $token, [ 'expires' => time() + 3600, 'secure' => true, 'httponly' => true, 'samesite' => 'Strict' ]);

6. Qo‘shimcha Himoya Choralari

  • HTTPS ni majburan yoqing.
  • Fayl va katalogga to‘g‘ri huquqlar bering (chmod 755, 644).
  • .env fayllarni .htaccess orqali yopib qo‘ying:
apacheconf CopyEdit <Files .env> Order allow,deny Deny from all </Files>

7. Xulosa

PHP va MySQL bilan ishlaganda xavfsizlik — bu tanlov emas, majburiyat. Har bir foydalanuvchi kiritayotgan ma’lumotni ishonchsiz deb qabul qiling. Kodlaringizni himoya qilish orqali nafaqat foydalanuvchilaringiz, balki o‘zingizni ham himoya qilasiz.

Mashxur maqolalar
PYTHON haqida
PYTHON haqida

Python — bu oson o‘rganiladigan, kuchli va keng tarqalgan dasturlash t...

JavaScript
JavaScript

Javascript haqida ma'lumot

Java dasturlash tili
Java dasturlash tili

Java — bu 1995-yilda Sun Microsystems tomonidan ishlab chiqilgan va ho...

C#
C#

C# haqida ma'lumot

PHP haqida
PHP haqida

PHP —bu server tomonida ishlaydigan ochiq kodli dasturlash tili bo‘lib...

Yangi maqolalar
Veb-sayt yaratishda e'tibor berish kerak bo'lgan muhim jihatlar
Veb-sayt yaratishda e'tibor berish kerak bo'lgan muhim jihatlar
Veb-sayt yaratishda muvaffaqiyat uchun muhim jihatlar: dizayn, foydala...
Ma'lumotlar bazasi: Asosiy tushunchalar va ularning ahamiyati
Ma'lumotlar bazasi: Asosiy tushunchalar va ularning ahamiyati
Ma'lumotlar bazasi asosiy tushunchalarini o'rganing va ma'lumotlarni s...
Bulutli Texnologiyalar: Zamonaviy Biznesning Asosiy Qismi
Bulutli Texnologiyalar: Zamonaviy Biznesning Asosiy Qismi
Bulutli texnologiyalar kompaniyalarga xarajatlarni kamaytirish va ish...
Dasturlash tilini o'rganishni qanday muvaffaqiyatli boshlash mumkin?
Dasturlash tilini o'rganishni qanday muvaffaqiyatli boshlash mumkin?
Dasturlash tilini o'rganish jarayonini muvaffaqiyatli boshlash uchun m...
Sun'iy intellekt: Kelajagi va imkoniyatlari haqida to'liq ma'lumot
Sun'iy intellekt: Kelajagi va imkoniyatlari haqida to'liq ma'lumot
Sun'iy intellekt kelajakda yangi imkoniyatlar va innovatsiyalar taqdim...