PHP Yazılım Güvenliği - CSRF Zafiyeti - Token Mantığı

Pentester

Özel Üye
8 Eyl 2016
1,646
996
Bu video da php uygulamalarımızda CSRF zafiyetini nasıl engelleyebileceğimizi örnek proje üzerinde inceledik. Laravel framework yapısında kullanılan csrf_token fonksiyonunu kendi php projemizde nasıl yazarız onu anlattım.


[ame]https://www.youtube.com/watch?v=19F1UvZkK5A[/ame]
 

ѕeleɴια

Kıdemli Üye
18 May 2018
2,620
905
ZYZZ
Hocam konuyla alakasız ama SQL sorgusunu database e gönderirken query yerine prepare kullananlara da rastlıyorum. Hatta bazıları query olmaz prepare yapalım bunu diyorlar nedeni nedir acaba
 

C 0 D E R

Katılımcı Üye
21 May 2020
429
48
SIFIR6
ѕeleɴια;9353005' Alıntı:
Hocam konuyla alakasız ama SQL sorgusunu database e gönderirken query yerine prepare kullananlara da rastlıyorum. Hatta bazıları query olmaz prepare yapalım bunu diyorlar nedeni nedir acaba

Execute yapılacak ise kullanılıyor hocam. İnjection güvenliğine katkısı mevcut.
 

Pentester

Özel Üye
8 Eyl 2016
1,646
996
ѕeleɴια;9353005' Alıntı:
Hocam konuyla alakasız ama SQL sorgusunu database e gönderirken query yerine prepare kullananlara da rastlıyorum. Hatta bazıları query olmaz prepare yapalım bunu diyorlar nedeni nedir acaba

prepare fonksiyonun yaptığı şey sorguyu hazırlanmış bir deyim olarak sunmak. Şöyle düşün haberler sayfan var bu haberler tablosundan veri select ediyor, her bir haberin ayrı ayrı içeriğini select ediyor. "select * from haberler WHERE id" deyimini hazırlıyor şart olarak belirtilen id her bir haberin detayında değişiyor. Ancak burada select deyimi hazırlanmış bir ifade olduğundan tekrar işlenmiyor bu da optimizasyon sağlıyor. Bu prepare olayı stored procedure yapısıdır. Eğer sen sadece haberler tablosundan veri çektiğin bir sayfan varsa herhangi bir parametre almıyorsa değişiklik yapmıyorsa yani sadece "select * from haberler" mevzusunu işleme almak istiyorsan query kullan gitsin ne gerek var prosedüre? Burada optimizasyon ve güvenlik kavramı ön plana çıktığından prepare metodu kullanılması tercih sebebi, ancak parametre almayacaksa pek bir aksiyonu yoksa gerek yok ama kullanılmasının zararı da yok.
 

ѕeleɴια

Kıdemli Üye
18 May 2018
2,620
905
ZYZZ
Execute yapılacak ise kullanılıyor hocam. İnjection güvenliğine katkısı mevcut.

prepare fonksiyonun yaptığı şey sorguyu hazırlanmış bir deyim olarak sunmak. Şöyle düşün haberler sayfan var bu haberler tablosundan veri select ediyor, her bir haberin ayrı ayrı içeriğini select ediyor. "select * from haberler WHERE id" deyimini hazırlıyor şart olarak belirtilen id her bir haberin detayında değişiyor. Ancak burada select deyimi hazırlanmış bir ifade olduğundan tekrar işlenmiyor bu da optimizasyon sağlıyor. Bu prepare olayı stored procedure yapısıdır. Eğer sen sadece haberler tablosundan veri çektiğin bir sayfan varsa herhangi bir parametre almıyorsa değişiklik yapmıyorsa yani sadece "select * from haberler" mevzusunu işleme almak istiyorsan query kullan gitsin ne gerek var prosedüre? Burada optimizasyon ve güvenlik kavramı ön plana çıktığından prepare metodu kullanılması tercih sebebi, ancak parametre almayacaksa pek bir aksiyonu yoksa gerek yok ama kullanılmasının zararı da yok.

Anladım hocam teşekkür ederim, bende Php başladım döngüleri bitirdim devam ediyorum. Konularınız yararlı oluyor php ve Web güvenliği konusunda meraklı olanlar için, emeğinize sağlık
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.