Php Güvenlik.

Merhaba arkadaşlar!

Php'nin hazır fonksiyonlarını kullanmadan kendi yaptığım üye kayıt sistemini sql injection ve xss'e karşı güvenli hale getirmem gerekiyor.

İnternette bayaa çok araştırma yaptım ama sorunuma çözüm olabilecek bir şey bulamadım.

Aklıma şöyle bir şey geldi. Ne kadar doğru bilemiyorum tabii. Veri tabanına gidicek textboxtan alınan verilerin başına "//" koyamayı düşündüm ama sadece düşündüm.(Bu denedim ama başaramadım demek)

Değişkenin başına bunları nasıl atayabilirim? 

Yardımcı olursanız çok sevinirim, teşekkürler.

İyi günler.

2012-08-07 11:03:32 Edit:2012-08-07 11:04:39

Php

injection önlemek için mysql_real_escape_string() fonksiyonu var. bu fonksiyonu kullanmadan önce veritabanı bağlantısı kurman gerekli.

Her programcı birgün Php yi tadacaktır
2012-08-07 19:23:23

Php

cebrailSemih KILIÇ

emin misin araştırdığına çünkü ben yazdığımda gayet yardımcı olabilecek yazılar ve örnekler çıkıyor :/

drekon'un dediğinin dışında ise xss'te kullanabileceğin  htmlspecialchars(); strip_tags(); bi de htmlentities(); var

2012-08-08 02:20:54

Php

alicilinAli Fırat Güler

O değilde hem php kodlayacaksın. Hemde phpnin kendi fonksiyonlarını kullanmadan bu açığı kapatacaksın ? Bu nasıl olacak ? Ben bunu anlamadım :)

Php dilinde kodlama yaparken php kodu kullanmamak çok saçma değilmi sizcede ?

2012-08-08 02:44:27

Php

@drekon dediğim gibi o kodu kullanmamam kendi güvenlik kodumu yazmam gerek. Veri tabanı bağlantım mevcut.

@cebraail keşke önce okusaydın o zaman o hazır fonksiyonları kullanmayacağımı anlamış olurdun.

@alicilin evet bence de çok saçma ama ödev işte!

2012-08-08 11:02:09 Edit:2012-08-08 11:06:14

Php

XSS: o zaman tek tırnak karakterini temizle. xss açıklarının çoğu ordan gelir. Diğer önemli konu MySQL komutlarını verilen bilgiden çıkar.

XSS şöyle birşeydir:

beklenen bilgi:
Nick= isminiyazbizahmet

xss saldırısı:
Nick= DELETE FROM tablo WHERE 1 ='

DELETE, UPDATE ve SELECT gibi kelimeler gelen bilgide olmazsa güvenlik de sağlanmış olur. tabii bunu yaparken str_replace kullanmadan nasıl becereceksin onu bilmiyorum.

Her programcı birgün Php yi tadacaktır
2012-08-08 11:37:40 Edit:2012-08-08 11:38:40

Yazan:drekon

XSS: o zaman tek tırnak karakterini temizle. xss açıklarının çoğu ordan gelir. Diğer önemli konu MySQL komutlarını verilen bilgiden çıkar.

XSS şöyle birşeydir:

beklenen bilgi:
Nick= isminiyazbizahmet

xss saldırısı:
Nick= DELETE FROM tablo WHERE 1 ='

DELETE, UPDATE ve SELECT gibi kelimeler gelen bilgide olmazsa güvenlik de sağlanmış olur. tabii bunu yaparken str_replace kullanmadan nasıl becereceksin onu bilmiyorum.

mysql_real_escape_string()  gibi hazır güvenlik fonksiyonlarını kullanmayacağız. str_replace kullanabilirim.

2012-08-08 12:27:59

Php

alicilinAli Fırat Güler

Hımmm Str_replace kullanabilicekseniz eğer ozaman şı şekilde bişey yapabilrisiniz.

function temizle($bilgi){

$yasak = array('\\','"',"'");

$izinli = array('','\"',"\'");

 return str_replace($yasak,$izinli,$bilgi);

}

Bu şekilde bir fonksiyon yazabilirsiniz. Tabi tek zararlı kodlar bunlar değil. isteğinize göre ekleyebilirsiniz.

kolay gelsin.

2012-08-08 20:19:34

Çok teşekkür ederim. :)

2012-08-09 21:53:11

Edit:

Php

Csrf ye karşı nasıl önlem alabilirim?

2012-08-13 11:31:33

phpkodlari.com © 2009 Herkes Php öğrenecek
Eglence ve Oyun: Gamikro