⏩ OldSchoolKO ✅ | " VALHALLA " 2.000.000 TL ÖDÜL ⭐ 3 YIL ARADAN SONRA ✅ v.1098 MYKO EFSANESİ ⚔ OFFICIAL 17.05.2024 - 21:00 ⏪
Cuceko

PHP Üzerinde Birkaç Basit Güvenlik Önlemi

  •         

            

            

            

            

  • HyperFilter | DoS Protection | DDoS Protection | DoS Mitigation | DDoS Mitigation | AntiDoS | AntiDDoS | Proxy Shielding
E Çevrimdışı
11 Ocak 2012
12,856
105
63
PHP Üzerinde Birkaç Basit Güvenlik Önlemi


Yaptığımız web site uygulamaları üzerinde her ne kadar güvenlik önlemi alıp güvenli bir sistem oluşturduğumuzu düşünsekte, hiç bir sistem yüzde yüz olarak güvenli değildir. Aldığınız her türlü güvenlik önlemi bir şekilde aşılabilir.



Güvenlik konusunda bence dikkat edilmesi gereken
en büyük olay kullanıcıdır. Her kullanıcıya potansiyel suçlu gözüyle bakmak ve siteyi ona göre yapılandırmak gerekir. Sitenizi ziyaret eden kullanıcı her ne kadar sitenize zarar vermek amacında olmasada, kullanıcıya tam olarak güvenmemelisiniz. Özellikle üyelik sistemi olan sitelerin üye kayıt ve giriş sayfalarında gerekli güvenlik önlemlerini almanız gerekmektedir. Bizde bu konudan haraket ederek alabileceğimiz güvenlik önlemlerine bakalım...



Form verileri site için oldukça büyük
güvenlik sorunu teşkil etmektedir. Form verilerinizi gönderirken Method olarak GET yerine POST özelliğini kullanmalısınız.Form dan gelen verilerinizi zararlı kod içerebileceği ihtimali üzerine mutlaka verilerini filtrelemelisiniz. Bu filtrelemeyi yapmadığınız zaman sitenizde en büyük açıklardan biri; SQL Injection saldırısına uğrama ihtimaliniz yüksektir. Oluşabilecek bir diğer önemli açık ise XSS açığıdır. XSS (Cross Site Scripting) açığı scriptlerin kodlanmasındaki eksiklerin neden olduğu bir açıktır. XSS açığı ile kötü niyetli kişiler siteniz

üzerinde istedikleri zararlı kodları çalıştırabilirler. Peki bu açıkları nasıl önleyebilirsinzi?



XSS açığından korunmak için alabileceğiniz basit önlemler; gelen form verilerinizi filtrelemektir. Bu filtreleme işlemini basit birkaç PHP komutu ile yapabilirsiniz.



Gizli içerik
Bu içeriği görmek için cevap yazmalısınız.




Yukarıdaki
komut ile formdan gelen verileriniz içerisindeki html taglarını temizleyebilirsiniz.Eğer sitenizdeki formdan kullanıcının gönderdiği veri içerisinde html kodu olmasını istiyorsanız yukarıdaki komutu aşağıdaki şekilde kullanarak istediğiniz html tagına izin verebilirsiniz.



 
J Çevrimdışı

jolyjokerz

Kayıtlı Üye
17 Kasım 2012
483
0
16
35
Cevap: PHP Üzerinde Birkaç Basit Güvenlik Önlemi



bir php programmer olarak neymis merak ettim.. bir kac birseyde ben ekliyeyim,



ilk önce neyi nerede kullanmali sorusuna cevap olmasi acisindan;



POST - Güvenli veri aktarımında iyi ama yavaştır

GET - Güvenliksizdir veriye müdahale edilebilir fakat hızlıdır

REQUEST - Hem POST ile hem de GET ile gönderilen verileri okuyabilir fakat güvensizdir...



bu kullanici veri giris yöntemlerinden birini kullandiktan sonra yapilacak isleme göre güvenlik önlemini almalsiniz,

misalen PUS"unuz var ve burada bir itemi adet olarak satiyorsunuz formumuzda itemid ve adet sutunu bunun güvenligini

Kod:
int($degiken);

veya

int($_POST["degisken"]);

seklinde almalisiniz, böylelikle bu degiskende sadece sayilar kalacaktir,



daha sonra eger islemlerde (örnegin ; isim degistirme, clan degistirme vb. islemlerinde) sql database sorgulatmamiz varsa yani bir deger gönderip o degerin sonucuna göre islem yapiyorsak veya yeni bir deger ekliyorsak,

en basta

8

Kod:
$degeryeni= @mysql_real_escape_string($deger);
(Sql serverler icinde gecerlidir ve ise yarar tahminimce)

komutunu kullanmaliyiz.



fakat her degiskenle böyle ugrasmak yerine config dosyamiza veyahut her sayfada cekilen yani include edilen bir dosyamiza(footer.php, header.php, vb..) bir fonksiyon tanimlayarak heryerde cok basit bir fonksiyon cagirma yöntemiyle güvenligimizi almis oluruz.



örnegin;

Kod:
function temizle($deger)

{

$deger = strip_tags($deger);

$deger = addslashes($deger);

$deger = mysql_real_escape_string($deger);

return $deger;

}



daha sonra istedigimiz yerde asagidaki kod yardimiyla verilerimizi temizleyebiliriz..

Kod:
$degisken = temizle($_POST[name]);



ISS aciklarindan korunmak icinde formlariniza session kodu ekleyerek önleyebilirsiniz

login formunu örnek ele alalim, login yapilan forma

Kod:
<input type="hidden" name="kontrol" vaqalue="<?php $token = md5(uniqid(rand(), true)); ?>"

ekleyerek bunuda databasede session adiyla kaydederek, üyelik panelinin headerinide sessionlari karsilastirip böylelikle ISS aciklarinida bir nebze olsun engellemis olursunuz..
 
G Çevrimdışı

GelGit

Kayıtlı Üye
13 Mayıs 2012
241
0
16
43
Cevap: PHP Üzerinde Birkaç Basit Güvenlik Önlemi



Teşekkürler
 
D Çevrimdışı

DamraKOC

Kayıtlı Üye
20 Nisan 2013
46
0
6
30
Cevap: PHP Üzerinde Birkaç Basit Güvenlik Önlemi



SQL Injectiona karşı önlem olarak PDO kullanabilirsiniz yada ilişkisel veritabanı sistemleri (rdbms) yerine nosql çözümler kullanırsanız sql injection derdinden kurtulmuş olursunuz
 
A Çevrimdışı

Amir

Kayıtlı Üye
19 Aralık 2012
148
0
16
Cevap: PHP Üzerinde Birkaç Basit Güvenlik Önlemi



I suggest you Santiaize each gate, works with PDO .. will make it much more secure
 
K Çevrimdışı

kaan235

Kayıtlı Üye
8 Haziran 2012
412
0
16
Cevap: PHP Üzerinde Birkaç Basit Güvenlik Önlemi



:talking:Eline sağlık kardeşim