Hizmetlerimiz hakkında bilgi almak için tıklayın.
Bağlantı kurmak için genellikle PDO (PHP Data Objects) kullanılır. PDO, farklı veritabanı sistemleriyle çalışabilen ve güvenlik önlemlerini içeren bir veritabanı bağlantı arayüzüdür. MySQL ile bağlantı kurarken PDO kullanımı, güvenlik açısından önemlidir çünkü bu şekilde SQL enjeksiyon saldırılarına karşı daha korunaklı bir yapı elde edebilirsiniz.
Adım 1: Veritabanı Bağlantısı
Öncelikle, db_config.php adlı bir dosya oluşturalım, bu dosyada gizli bilgilerimizi doğrudan ulaşılabilirliğin önüne geçmek amacıyla saklayacağız. db_config.php dosyasında veritabanı bağlantı bilgilerini tanımlayın:
<?php
define('DB_HOST', 'localhost'); // Sabit kalıyor.
define('DB_NAME', 'dbname'); // Database tablo adınızı yazınız.
define('DB_USER', 'dbuser'); // Database kullanıcı adınızı yazınız.
define('DB_PASS', 'sifre'); // Database user şifrenizi yazınız.
define('DB_CHARSET', 'utf8');
?>
Adım 2: Bağlantı Kodu
Ardından, veritabanına bağlantı kuracağımız dosyayı oluşturalım, örneğin baglan.php adında bir dosya oluşturalım. Ardından, baglan.php dosyasında bağlantıyı kuralım ve PDO istisnalarını ele alalım:
<?php
require 'db_config.php';
try {
$dsn = "mysql:host=".DB_HOST.";dbname=".DB_NAME.";charset=".DB_CHARSET;
$db = new PDO($dsn, DB_USER, DB_PASS);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
die("Veritabanı bağlantı hatası: " . $e->getMessage());
}
?>
Önceden oluşturmuş olduğumuz db_config.php dosyasını bağlantı oluşturduğumuz dosyaya eklemezsek, bağlantımız başarısız olacaktır. Üstte verdiğimiz örnekte, db_config.php dosyası require 'db_config.php'; koduyla eklenmiştir. Bu iki dosya eğer aynı klasör içerisindeyse çalışacaktır, farklı klasörlerde listeliyorsanız dosyaları ona göre düzenleme yapmanız gerekmektedir.
Bu bağlantı kodu, db_config.php dosyasındaki veritabanı bilgilerini kullanarak PDO'nun new PDO()
işleviyle bir bağlantı oluşturur. Bağlantı oluşturulurken olası hataları ele almak için bir try-catch
bloğu kullanılmaktadır.
Güvenlik İpuçları
- PDO Kullanın: PDO, SQL sorgularını hazırlarken otomatik olarak doğru kaçış dizilerini kullanarak SQL enjeksiyon saldırılarına karşı koruma sağlar.
- Kodu Güvenli Hale Getirin: Veritabanı bilgilerini içeren dosyaları genel erişime açmayın. Bu tür dosyaları güvenli bir klasöre yerleştirin ve dosya izinlerini sıkılaştırın.
- SQL Enjeksiyonlarına Karşı Dikkatli Olun: Kullanıcı girdilerini doğrudan SQL sorgularına eklemeyin. Veritabanı sorgularını hazırlamak için PDO'nun sağladığı özellikleri kullanın.