PHP Input Güvenliği Nasıl Sağlanır?

Merhaba, bu kategorideki ilk rehber yazımda sizlere PHP dilinde input güvenliğini nasıl sağlarsınız basit bir şekilde bahsetmeye çalışacağım.
Örnek vermek gerekirse, internet siteniz için oluşturduğunuz bir kayıt ol formu yapmış olduğunuzu varsayalım.
Bu kayıt ol formuna eklediğiniz input'lar sayesinde kullanıcı bilgilerini yazıyor ve gönder veya kayıt ol butonuna bastığında Database'e direkt olarak input içerisindeki bilgiler kayıt ediliyor. buraya kadar her şey tamam. Peki bu input içerisine zararlı kod yerleştirildiğinde ne yapacaksınız? Bu kodun direkt olarak veri tabanına olduğu hali ile gönderilmesini istemezsiniz.

kod:

[CODE lang="php" title="Functions"]function secure($in){
$out = addslashes($in);
$out = htmlspecialchars($out);
$out = htmlentities($out);
$out = strip_tags($out);
return $out;
};[/CODE]

Bu kod basit ve etkilidir, karşıdan gönderilen text içerisindeki zararlı olabilecek kod satırlarını ayıklar.

Kullanım örneği:

[CODE lang="php" title="Örnek" highlight="2"] $addorder=$insert->execute(array(
'u_baslik' => secure($_POST['u_baslik']),
));[/CODE]
 
Son düzenleyen: Moderatör:
SQL Injection için biraz daha kod eklemek gerek, ancak basit düzey girdileri rahat şekilde engeller. Ek olarak gelen veriyi boş gönderirse geri yönlendirme eklerseniz öncesine çok daha iyi olur.
 
Merhaba,

Sanitazion & Validation olarak geçiyor; birçok php framework'ü içerisinde mevcut. Dışarıdan çağırabileceğiniz fonksiyonlarda mevcut; github üzerinde birçoğunu bulabilirsiniz. Güvenlik için önemli bir adım.
 
Merhaba,

Sanitazion & Validation olarak geçiyor; birçok PHP Framework'ü içerisinde mevcut. Dışarıdan çağırabileceğiniz fonksiyonlarda mevcut; GitHub üzerinde birçoğunu bulabilirsiniz. Güvenlik için önemli bir adım.

Merhaba, mantığın basit olarak anlaşılması için bu paylaşımı yaptım. Daha gelişmiş varyasyonları elbette var.
 
Aslında bunlara gerek yok. Bu iş için mysql_real_escape_string kullanılır literatürde.


Bu methodun yaptıkları senin yazdığın fonksiyondan da kapsamlı. Bir gözat istersen.
 
Merhaba,
Github'da birçok projenin olmasının asıl sebebi HTML, SQL, XSS ve bunun gibi birçok şeyden giriş bilgilerini temizlemek için yanlnızca HTML temizlenmiş olması veya MYSQL temizlenmiş olması pek bir işe yaramayacaktır sizi XSS veya başka açıklarla baş başa bırakacaktır. Ayrıca Validation, Kontrol etmekde önemli bir unsur, buna göre farklı eylemlerde bulunmak gerekebilir.
 
Aslında bunlara gerek yok. Bu iş için mysql_real_escape_string kullanılır literatürde.


Bu methodun yaptıkları senin yazdığın fonksiyondan da kapsamlı. Bir gözat istersen.

Bu yöntem eski diye biliyorum, zaten sitede uyarı vermiş önerilmemektedir diye.
 
Bu yöntem eski diye biliyorum, zaten sitede uyarı vermiş önerilmemektedir diye.
Hayır, eski değil. Güncel PHP sürümlerinde "i" eklemen gerekiyor. Yani mysqli_real_escape_string.

 
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Yeni konular

Geri
Yukarı