güvenlik için en çok kullandığım php fonksiyonları addslashes ve is_numeric bunları kullanmanızda fayda var

ör : . htaccess PHP:

Tesekkurler Caesar, aslina bakarsan bunlardan haberdarim, ama buffer overflow, cross-site script gibi seyler var... Ornegin &quot;if&quot; satirinda bir degiskenin onune koyulmadigi icin acik olusmustu...

sayfa-123--321.html $1=123 $2=321 diy mi? o zaman sql injection varsa sayfa--'--'.html dersek ne olur? yada sayfa--'--/ UNION SELECT id FROM TABLO /.html gibi?

o çok sonlarda bir vaka... rewitemode bana ait olduğu için ben istediğim gibi yönetirim. sayfa-123--321.html yaptığım sayfamda. htaccess ile 123 yerine 0-9 arası bir sayı değeri hariç hiçbir değeri okuma derim.

ben 123 ü ne yapayım oraya ' yada Union gireceğim isterse harf olsun orası no problemo

.html içine girdiğin o karakterler geçersiz kalacaktır.

ornegin baska bir acikta cookie yonetimi index. php?git=&lt;script&gt;alert ;&lt;/script&gt; tarzi saldirilardan kurtulmak için; PHP:

Dosya include güvenliği için en uygun yöntem; Dosyalarımızı atacağımız klasorun adi; inc/ Kodumuz; PHP:

iide sen o sayfanın rewite mode ile yapıldığını nerden bileceksin?

benim açık çıkmasın diye genelde uğraştığım alanlardan birkaçı: Senaryo:Kullanıcı adı ve şifre kontrolü Yukarıda bahsedildiği üzere, gelen veriyi direk olarak sql sorgusuna sokmak büyük sorunlara yol açabilir. Kurtulmak için, gelecek veri tipine göre, reg-ex kullanılabilir. Senaryo:Ziyaretçi defteri en basitinden, girilecek html kodları sorun olabilir. ( gelen girdiler sayfaya yazdırılacağı için, yine yukarıda bahsedildiği gibi, cookieler vs. okunabilir, hatta abartıp, insanlar iframe filan açabilir sayfanızda bunun için str_replace , ya da htmlspecialchars fonksiyonları kullanılabilir. ) Senaryo:register_globals değeri on.. Kod yazmaya üşenmek yerine, değerler $_GET, $_POST vs. şeklinde okunarak kolayca kurtulabilirsiniz. aklıma farklı senaryolar gelirse eklerim..

Teorik aciklamadan ziyade ornekler verirmisin.

modewrite yi nasıl çözüyorsun?

+ olarak sayfanızdaki verilerin preg_mach_all gibi fonksiyonlarla alınamaması için değişkenlerinizi id gibi sayı değerlerinden ziyade a5w4q6 gibi gizli değişkenlerle çektirmenizdir. Örnek verecek olursak. index. php?id=1231 gibi bir değerle verileri gösteren bir siteden istenilen verileri PHP:

Gun gecmiyor ki bir yazilimda acik cikmasin. Ornegin vbulletin yaziliminda bir acik bulunuyor ve ardindan yama cikiyor. Benim merak ettigim bu aciklar ve yamalar hakkinda teknik detayli bilgi herhangi bir yerde yayinlaniyor mu? Ben de kod yaziyorum, ve kodlarimda guvenlik acigi vardir korkusu ile kodlarimi paylasmiyorum, paylasinca baskasi acigi bulup aciktan faydalanir diye korkuyorum. Ama boyle olunca da kendimi gelistiremiyorum, acikcasi bu aciklari kapatmayi ogrenmek istiyorum. Yada diger bir deyisle once aciklari tesbit etmek sonra da sorun varsa gidermek istiyorum. Bu baslik altinda, PHP nin aciklari konusunda bilgisi olanlari, paylasima davet ediyorum. Detay ve somut ornekler ile.

modrewrite hiç bir zaman tamamen engelleyemez. modrewrite nin algoritmasını çözmek maksimum 5 dk surmektedir. onun için guvenliği normal moda göre alip daha sonra dilenirse modrewrite yapilabilir. ben şu anki sayfalarımın hiç birinde modrewrite kullanmıyorum açıkda bırakmıyorum.

açık 1: include hatasi PHP:

en güzel yöntem. htaccess rewitemodedir.. index. php?git=adad&amp;veri=2323 uzantısını kullanıcıya göstermek zaten binevi al kullan istediğini yap demektir. bunu adad-2323. xza olarak göstertirsek siteye giren LAMER ler git ve veri değişkenlerini göremeyecekler ve kullanamayadaklardır. $_POST ile gelen veriler için de yine. htaccess ile sayfaya dışarıdan erişimi yasaklamakla işi tamamlamış olabiliriz. bunlar haricinde SQL tablolarımızın hücrelerimizin ve PHP değişkenlerimizin adlarını da kendimizce yeni isimlere bürümek bu işte ayrı bir artı olacaktır. ör herkes 'id' diyor ben buna 'idcik' derim. gibi. $git yerine $nasnas gibi. bunların yanında global değişkenleri de kullanır $_GET ve $_POST verilerini belirtirsek iş dahada güzel bir hale gelecektir.

aslinda su sekilde diyim acigin ne zaman birakilacagi hiç belli olmuyor ornegin ben trislem sözlüğü bitirdikten sonra profesyonel olarak acik bulmakla ugrasan 5 kisinin onune test olarak koydum. gözümden kaçan birşeyler olmuş olabilir diğe. 15 gun boyunca bulunan aciklari kapadim. ama 1 ay sonra tekrardan bir acik cikabildi. göreceli şeyler bunlar. görüp çözüm bulmak bir daha o hatayi yapmamana neden oluyor.

deneme yanılma şeklinde bir olay vardir değil mi?