Merhabalar
Konuyu uzun zamandır araştırıyorum ve kendimce güvenlik önlemleri türetmeye çalışıyorum.
Örneğin üyelik sistemi için sessionlarla random kod yaratıp karşılaştırma yapıyorum.
Bunun yanı sıra xss sql injection gibi açıklar için nasıl bir filtreleme kullanıyorsunuz.
Bu konuda fikirleri olanlar paylaşım yaparlarsa kullandıkları ve tavsiye ettikleri fonksiyonları vs. herkese faydalı olacağını düşünüyorum.
Teşekkür ederim iyi çalışmalar herkese
Scriptleriniz İçin Yaptığınız Güvenlik Önlemleri Neler ?
19
●1.474
- 12-06-2014, 21:20:18Üyeliği durdurulduLazım olucak bir kütüphane paylaşıyım.
html kodları tertemiz size sunar. filtrelemeler yapabilirsiniz. yazım hatalarınıda düzeltiyor.
http://htmlpurifier.org/
http://htmlpurifier.org/demo.php
PEAR destekli,
pear channel-discover htmlpurifier.org
pear install hp/HTMLPurifier
sunucu/vps direk kurabililiyor.
zamanında panelden editörlerin html yazılar girerken filtreleme için kullanmıştım. - 13-06-2014, 00:45:21Kimlik doğrulama veya yönetimden onay bekliyor.benimde benzerini kullandığım etkili bir yöntemdirkingofseo adlı üyeden alıntı: mesajı görüntüle
- 13-06-2014, 02:41:36Bir üye dakikada 30 kez sayfa değiştirirse gecici olarak otomatik banlıyorum onu. Ayrıca sitemde bulunan get metoduyla id aldığım sayfalarda seflink dışında bir link girilirse otomatik seflink haline yönlendiriyorum. sürekli bir şeyler ekleyebiliriz. aslında biraz da biraz takılıp kurcaladığımızda aklımıza geliyor güvenlik önlemleri.
- 13-06-2014, 03:08:20Severim kendisini...
(PHP Fusion'un maincore.php sinden....)
// Prevent any possible XSS attacks via $_GET. if (stripget($_GET)) { die("Prevented a XSS attack through a GET variable!"); } // Prevent any possible XSS attacks via $_GET. function stripget($check_url) { $return = false; if (is_array($check_url)) { foreach ($check_url as $value) { if (stripget($value) == true) { return true; } } } else { $check_url = str_replace(array("\"", "\'"), array("", ""), urldecode($check_url)); if (preg_match("/<[^<>]+>/i", $check_url)) { return true; } } return $return; } - 13-06-2014, 08:35:26projelerimde en çok kullandığım komutlardır.Bunların yanısıra sayi ise intval(), htmlentities vb. komutlar kısa zamanda iyi iş çıkarıyor.kingofseo adlı üyeden alıntı: mesajı görüntüle
- 13-06-2014, 14:04:43POST/GET ile gelen verinin ne olması gerektiğini biliyorsam (tel no, e-posta adresi gibi) ona göre bir şablon (pattern) hazırlıyorum. Şablona göre de regex ile kontrolünü yapıyorum. (Veri şablona uygunsa işlemi yap, değilse yapma.)
Böylelikle hem filtreleme yapmama gerek kalmıyor hem de gelen verinin benim işime yarayıp yaramadığımı anlayabiliyorum.
SQL açığı için ise o işi PDO prepare'ye devrettim, o ilgileniyor.
Bunun dışında 404 hatası verenlerin kayıtlarını tutuyorum. Sistem, X süre içinde çok sayıda 404 hatası olduğunda .htaccess üzerine IP adresini yazarak banlıyor. - 13-06-2014, 21:27:58gelen post verisinin hangi domainden gönderildiğini kontrol ediyorum sizede tavsiye ederim.
ip adresini user_id ile birlikte md5 leyerek db ye yazyorum. Aynı değeri sessionada yazıyorum. Güenliğin gerekli olduğu sayfalarda sessiondaki ve db dedki değerlerin birbirini tutup tutmadığını kontrol ediyorum.
ip adresi veya browser değişikliği durumunda prosedür baştan başlıyor.
Belirli süre sonunda kullanıcıyı logout ediyorum. Hatalı giriş denemelerini sayıyorum ve birden fazla hesaba giriş yapan ip leri logluyorum. Bu ipler kullanıcı adına admin test root vb benim için önemli olabilecek isimleri yazarlarsa ip blok uyguluyorum.
tabi bu dediklerim i basit şirket sitelerinde değil daha çok içerisinde para dönen sitelerde yapmalısınız.
