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:
PDO kullanmak varken bu tarz kesin çözüm sağlamayan önlemlerle zaman harcamak pek mantıklı gelmiyor.
PDO üzerine ek kullanılır bu zaten.
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.
Evet ileri seviye bir güvenlik önlemi zaten değil, konuda da belirttiğim gibi basit bir önlem. Daha komplike ve gelişmiş bir önlem için üzerine daha çok kod eklenmeli ve geliştirilmeli. Daha detaylı bir PHP güvenlik makalesi yazılabilir fakat benim bu yazım giriş seviyesi.
 
Son düzenleme:
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

Geri
Yukarı