Php Güvenliği Hakkında Üç Beş Bir Soru
-
-Hocalarım Şimdi TOKEN sistemini Android tarafında kullanıyorum. Web Tarafında Session'lara erişim sağlandığı için orda da Token kullanıyorum.. Fakat... Şöyle bir sıkıntım var.. E adam trilyon tane fonksiyonu dosyama gönderir de 1 token tutturursa ne olacak ? benim onu kısıtlamam lazım. Mesela X IP sinden sunucuma 50 defa yanlış bir token isteği bulunda Küt bu IP yi banla gibi birşey söz konusu mudur ? Şimdi oturdum bunu kara kara düşünüyorum.
-Session'lar ne kadar güvenli ?
-JQuery içerisinde bazen birşeyler göstermek zorunda kalıyorum örneğin bir APİ kullanırken APİ key'im kabak gibi ortada bunu nasıl gizleyebilirim yani nasıl olabilir bu ?
-1 sayfa içeriisnde hem HTML hem Jquery hemde Php kodu yazabilir miyim yani şu şekilde
<html> <body> <div id="NeLaBuNeLa"> <tbody> </tbody> </div> </body> <script> alert(" "+<?php echo "Selam Dünyali"; ?>); </script> </html>Bunun gibi bir yapıp yapınca sayfa yüklenmiyor bile php yerinde sıkıntı oluyor... Bende mi sıkıntı var yoksa böyle bir saçmalık mı yok ?
Hayırlı geceler. Hep de gece soru soruyorum ama. :D Gece kod yazmak iyi sessiz sakin falan o yüzden yani :D
-
1 - Onun için WAF secuirty olayları var hosting sğalayıcının bunları destekleyip kurduklarından emin ol bazen para mara istiyo gibikler bunlar için kurnaz ol.
2 - Sessionlar zaten şifrelenip kaydediliyor bir kısımda ama sen yine de oraya saf şifreyi yada id yi basma şifrelenmiş id yi session olarak kullan ve eğer proje büyükse https kullan paralı olandan
3 - ana bir ajax request dosyası yazarsın bunun içinde tüm ajax işlemlerini döndürürsün. Api key illa ki açıkta gözükebilir. Apinin ulaştığı sayfayı sadece ajax işlemleri için aktif et stackoverflowda bulabilirsin
4 - Evet.
-
Hocam dediğin gibi 50 den fazla hatalı girişte ip banlar isen bu defada her giriş te ip nin banli listede olup olmadığını kontrol edersin ki bu da sikinti. Ben onu n yerine session / cookie kullanarak engelleme sistem i yapıyorum
-
Çok bilgim yok ama Tokenle beraber birde kod içerisinde private key oluştur hocam. bide hepsini birleştir md5le. Diğer tarafta da token ile beraber private key md5 li halini kontrol edersin. heralde güvenlik konusunda iş görür sanırım. birde https olayına dönmen gerekecektir.
html kısımda kodu yazarkende direk oluyor hocam php de biraz karıştırırsan örnekler çıkar.
<html> <body> <div id="NeLaBuNeLa"> <tbody> </tbody> </div> </body> <?php echo '<script type="text/javascript"> alert("'.$text.'"); window.location = "'.$link.'"; </script>'; ?> </body> </html>
-
-
@ozgunlu zaten JWT mantığını kullanıyorum abi Tokenlerde Bu yeterli olmaz diye soruyorum Web'de Session Session falan diyorlar basit birşey olamsa gerek diye düşündüğüm için açtım konuyu teşekkürler ama genede :)
@solstice o aradaki php koduna erişim sağlanamaz değil mi ? anca server'ime girip kodlarımı alacaklar aksi mümkün değil yani ? Eğer öyle ise kullanıcının görmemesi gereken şeyleri PHP ile MD5 ile şifreleyeceğim de.
@coder2 ne gibi bi sıkıntısı var ki hocam. Aksi halde zaten güvenlik açığı oluyor :/ Yani Işin içinde Android'de var Session yetersiz . Android'de apileri çağırırken Token istiyorum. Aksi halde işlem yaptırmıyorum. Session yok yani Android tarafında :'( Söylediğiniz şey sadece Web Platformunda yapsam uygulamayı bi nebi... iş görür.
@Claw WAF'a bakayım hocam Şu Ajax REQUEST dediğiniz şey Header'e veri gömüp göndermek mi ? Yani mantığını tam anlamadım azıcık konuyu açar msınız size zahmet ? Birde bu Sessionları MD5 ile şifrelediğimi farz'edelim Her girişte Sessiondaki ID vs. Şifrelesem bile bunu nasıl çözeceğim . Yani şöyleki Kullanıcı giriş yaptı 5S53QSA.672QE2QQ2 diye bir tokenim var (ANDROID).(WEB) şeklinde. Bunu MD5'ledim. Adam Ajax'a istekte bulunduğunda MD5'i geri nasıl çözeceğim ki ? Token lazım bana :'( Ona göre oturum açıp kapatıyorum çünki. Token de yoksa istek'de bulunamıyor.. gibi gibi.. Ben yanlış anlamış da olabilirim..
-
MhmdAlmz bunu yazdı
@ozgunlu zaten JWT mantığını kullanıyorum abi Tokenlerde Bu yeterli olmaz diye soruyorum Web'de Session Session falan diyorlar basit birşey olamsa gerek diye düşündüğüm için açtım konuyu teşekkürler ama genede :)
@solstice o aradaki php koduna erişim sağlanamaz değil mi ? anca server'ime girip kodlarımı alacaklar aksi mümkün değil yani ? Eğer öyle ise kullanıcının görmemesi gereken şeyleri PHP ile MD5 ile şifreleyeceğim de.
@coder2 ne gibi bi sıkıntısı var ki hocam. Aksi halde zaten güvenlik açığı oluyor :/ Yani Işin içinde Android'de var Session yetersiz . Android'de apileri çağırırken Token istiyorum. Aksi halde işlem yaptırmıyorum. Session yok yani Android tarafında :'( Söylediğiniz şey sadece Web Platformunda yapsam uygulamayı bi nebi... iş görür.
@Claw WAF'a bakayım hocam Şu Ajax REQUEST dediğiniz şey Header'e veri gömüp göndermek mi ? Yani mantığını tam anlamadım azıcık konuyu açar msınız size zahmet ? Birde bu Sessionları MD5 ile şifrelediğimi farz'edelim Her girişte Sessiondaki ID vs. Şifrelesem bile bunu nasıl çözeceğim . Yani şöyleki Kullanıcı giriş yaptı 5S53QSA.672QE2QQ2 diye bir tokenim var (ANDROID).(WEB) şeklinde. Bunu MD5'ledim. Adam Ajax'a istekte bulunduğunda MD5'i geri nasıl çözeceğim ki ? Token lazım bana :'( Ona göre oturum açıp kapatıyorum çünki. Token de yoksa istek'de bulunamıyor.. gibi gibi.. Ben yanlış anlamış da olabilirim..
Postu attın diyelim sen şifreleyip gönderiyosun karşı tarafta eşleşmesi gereken veriyide md5 le if içinde kontrol ettir :) Ayrıyetten headerler ile ajaxtan gelmeyen işlemleri kapatabiliyoruz
if($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') { //Request identified as ajax request if(@isset($_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_REFERER']=="http://yourdomain/ajaxurl") { } }
şu kod ile ajax requestlerini kontrol edersin -
Claw bunu yazdıMhmdAlmz bunu yazdı
@ozgunlu zaten JWT mantığını kullanıyorum abi Tokenlerde Bu yeterli olmaz diye soruyorum Web'de Session Session falan diyorlar basit birşey olamsa gerek diye düşündüğüm için açtım konuyu teşekkürler ama genede :)
@solstice o aradaki php koduna erişim sağlanamaz değil mi ? anca server'ime girip kodlarımı alacaklar aksi mümkün değil yani ? Eğer öyle ise kullanıcının görmemesi gereken şeyleri PHP ile MD5 ile şifreleyeceğim de.
@coder2 ne gibi bi sıkıntısı var ki hocam. Aksi halde zaten güvenlik açığı oluyor :/ Yani Işin içinde Android'de var Session yetersiz . Android'de apileri çağırırken Token istiyorum. Aksi halde işlem yaptırmıyorum. Session yok yani Android tarafında :'( Söylediğiniz şey sadece Web Platformunda yapsam uygulamayı bi nebi... iş görür.
@Claw WAF'a bakayım hocam Şu Ajax REQUEST dediğiniz şey Header'e veri gömüp göndermek mi ? Yani mantığını tam anlamadım azıcık konuyu açar msınız size zahmet ? Birde bu Sessionları MD5 ile şifrelediğimi farz'edelim Her girişte Sessiondaki ID vs. Şifrelesem bile bunu nasıl çözeceğim . Yani şöyleki Kullanıcı giriş yaptı 5S53QSA.672QE2QQ2 diye bir tokenim var (ANDROID).(WEB) şeklinde. Bunu MD5'ledim. Adam Ajax'a istekte bulunduğunda MD5'i geri nasıl çözeceğim ki ? Token lazım bana :'( Ona göre oturum açıp kapatıyorum çünki. Token de yoksa istek'de bulunamıyor.. gibi gibi.. Ben yanlış anlamış da olabilirim..
Postu attın diyelim sen şifreleyip gönderiyosun karşı tarafta eşleşmesi gereken veriyide md5 le if içinde kontrol ettir :) Ayrıyetten headerler ile ajaxtan gelmeyen işlemleri kapatabiliyoruz
if($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') { //Request identified as ajax request if(@isset($_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_REFERER']=="http://yourdomain/ajaxurl") { } }
şu kod ile ajax requestlerini kontrol edersinŞimdi anladım Teşekkür ederim yardımın için :)
