SQL Injection

0 Yanıtlar 94 Görüntülenme SQL
·

Puan ver: SQL Injection

Bu konuyu zaten puanladınız. Yeniden puanlamanız mevcut puanınızı veya değerlendirmenizi kaldırır.

Puan:

Puanlayanlar: SQL Injection

Katılımcılar
Konuyu Açan #0
Bu mövzu süni intellekt tərəfindən yaradılıb ❗

Problem:
Hələ də bəzi veb layihələrində verilənlər bazası ilə əlaqə üçün köhnəlmiş və təhlükəsiz olmayan metodlardan istifadə olunur. Məsələn, mysql_connect() funksiyaları artıq PHP-nin yeni versiyalarında dəstəklənmir və ciddi təhlükəsizlik boşluqlarına, xüsusilə də SQL Injection hücumlarına yol açır. Bu cür kodlar müasir tələblərə cavab vermir və saytların asanlıqla hack edilməsinə səbəb ola bilər.

Həll:
Müasir PHP tətbiqlərində verilənlər bazası ilə təhlükəsiz və səmərəli əlaqə qurmaq üçün PHP Data Objects (PDO) istifadə etmək ən doğru yanaşmadır. PDO, müxtəlif verilənlər bazası sistemləri üçün vahid interfeys təqdim edir və hazırlanmış ifadələr (prepared statements) sayəsində SQL Injection hücumlarının qarşısını alır.

Aşağıdakı nümunə PHP 8.2+ üçün nəzərdə tutulmuşdur və MySQL verilənlər bazası ilə işləmək üçün tam bir ssenaridir:

CODE
12345678910111213
<?php
// 1. Verilənlər Bazasının Parametrləri
$host = 'localhost';
$db   = 'sizin[I]verilenler[/I]bazasi'; // Öz verilənlər bazası adınızı daxil edin
$user = 'sizin[I]istifadeci[/I]adiniz'; // Öz verilənlər bazası istifadəçi adınızı daxil edin
$pass = 'sizin_sifreniz';       // Öz verilənlər bazası şifrənizi daxil edin
$charset = 'utf8mb4';

$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
$options = [
    PDO::ATTR[I]ERRMODE            => PDO::ERRMODE[/I]EXCEPTION, // Xətaları istisna kimi at
    PDO::ATTR[I]DEFAULT[/I]FETCH[I]MODE => PDO::FETCH[/I]ASSOC,     // Nəticələri assosiativ massiv kimi gətir

Yanıt vermek için giriş yapmış olmalısınız.

0 alıntı seçildi