Onun daha çok az daha doğrulama kontrolleri ve sanitization rutinleri çok var. Sistem daha fazla ya da daha az güvenli fazlalık ekleyerek gereğidir. Onun bir güvenlik açığı ya da onun değil, onun bir Boole değil Float eter. Ben denetim kodu ve ben gereksiz secuirty önlemleri görünce bir kırmızı bayrak olarak düşünmek ve derin kazmak için beni teşvik eder. Bu programcı paranoyak ve bu her zaman doğru olmasa da belki de onlar açıklarını doğasını anlamıyorum.
Başka bir sorun var. htmlentities () her zaman, örneğin, XSS durmuyor ne çıktı bir <script></script>
etiketi veya bu konuda bile bir href içinde ise? mysql_real_escape_string her ne varsa, SQL enjeksiyonu durmuyor: 'select * from user where id='.mysql_real_escape_string($_GET[id]);
. Bir preg_match can Bu sorunu çözmek, ancak intval () Bu durumda kullanmak çok daha iyi bir işlevdir.
Ben hazırlanan tabloların çok büyük bir hayranıyım değilim. Ben varsayılan olarak güvenli olduğu için bu mükemmel bir yaklaşım olduğunu düşünüyorum, ama bir hazır deyimi önce mysql_real_escape_string için bir değişken () geçirmeden sadece bozuk veri gidiyor. Ben bu nedenle, çünkü fazlalık bir güvenlik açığını tanıtan tüm doğrulama rutinleri kaldırarak bir acemi düzelt bu sorunu gördük. Neden ve etkisi.
Web Uygulama Firewall (WAF) katmanlar can güvenliğini artırmak nasıl mükemmel bir örnektir. WAF düzenli ifadeler son derece bağlıdır. Onlar büyük resme bakmak ve kötü girişini önlemek için deneyin ya da en azından bunu log. Onlar hiçbir şekilde bir gümüş kurşun ve kullanmak tek güvenlik önlemi olmamalı, ama bazı kişilere dur yapmak ve üretim makinelerde mod_security yükleme öneririz.