• 13-07-2013, 04:27:52
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhaba arkadaşlar ;

    çalışma yapıyorum ama bi sorun var

    örnek olarak dosyalar.php adında sayfam var bunun içine dosya.php yi çağırıyorum herşey güzel ama ben www.xxxx.com/dosya.php yazınca bu sayfa açılıyor bunu nasıl engellerim ?

    dosya php sadece içerik eklemek için kullanılacak yani dosyalar.php ye grince tasarım ile içerik görünecek ama dosya.php ye girilmesini istemiyorum

    şimdiden teşekkürler..
  • 13-07-2013, 09:36:42
    #2
    hocam bunun bir çok yolu var, seç beğen al;

    1. yol :

    dosyalar.php içinde include yapman önce $dosyaphp = true; koyarsın, dosya.php nin içinde en üst alana da
    if(!$dosyaphp){
    	die("direkt ulasma izni yok");
    }
    koydun mu uyarı verir. ne yapmış olduk? ana dosyada bir adet true değeri tanımladık, alt dosyada onu kontrol ettik.


    2. yol : get_included_files() fonksiyonunu kullanmak. bu fonksiyon php dosyasının içine dahil edilmiş dosyaları bildirir.

    bu kodları dosya.php nin en üstüne koyarsın.
    if(count(get_included_files()) == 1 ){
    	die("direkt ulasma izni yok");
    }
    fakat bunun kötü bir yanı senin include ettiğin dosyanın içine başka bir dosya include ediyorsan çalışmaz.


    3. yol : $_SERVER['PHP_SELF'] ile adresi ve dosya adını alırız, direkt ulaşılırsa hata verdirtiriz;

    if($_SERVER['PHP_SELF'] == "dosya.php"){
    	die("direkt ulasma izni yok");
    }
    yalnız dosya.php iç klasörlerdeyse klasör adını da yazman lazım misal "include/dosya.php" gibi.


    4. yol : yok ben klasör adını yazmaya üşenirim diyorsan

    $phpsayfa_bilgi	= explode('/', $_SERVER['SCRIPT_FILENAME']); 
    $phpsayfa	= $phpsayfa_bilgi[count($phpsayfa_bilgi)-1];
    
    if($phpsayfa == "dosya.php"){
    	die("direkt ulasma izni yok");
    }

    gibi bir kaç taneden daha fazla yolu var. bunlardan birisi işini görür diye düşünüyorum.
  • 13-07-2013, 10:51:08
    #3
    teşekkür ediyorum verdiğin cevap için .

    bahsettiğim durum söyle

    benim dosyalar.php ve dosya.php adında 2 dosyam var
    sitede dosyalar.php şeklinde linki var dosyalar.php ye içerik eklemiyorum karışmasın diye onun için dosya.php ye ekliyorum include yoluyla dosyalar.php de görünüyor

    sorum şuydu olur ki birisi dosya.php yazdı eliyle içeriklerimi direk olarak görecek yani dosyalar.php den girince içeriğim görünsün dosya.php den giriş yapılmaya çalışılınca görünmesindi.

    senin vermiş olduğun çözüm bunu yapmam için değil mi ?

    yanlış anlatmısımdır diye bir kere daha anlattım kusura bakma
  • 13-07-2013, 11:04:14
    #4
    @fatihsarac arkadaşın yazdığı 1. yol işini rahatlıkla görecektir.
    dosyalar.php en üstüne
    $dosyaphp = true;
    ekle

    dosya.php en üstüne de
    if(!$dosyaphp){ 
        die("direkt ulasma izni yok"); 
    }
    ekleyin çalışacaktır.
  • 13-07-2013, 11:27:48
    #5
    bu yolla içerik kısmını eklediğim dosya yine içeriğini aktarmaya devam edecek direk ismini yazıp girmek istediğimizde izin vermıycek değil mi ?

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 11:27:48 -->-> Daha önceki mesaj 11:06:22 --

    uysal_rockci adlı üyeden alıntı: mesajı görüntüle
    @fatihsarac arkadaşın yazdığı 1. yol işini rahatlıkla görecektir.
    dosyalar.php en üstüne
    $dosyaphp = true;
    ekle

    dosya.php en üstüne de
    if(!$dosyaphp){ 
        die("direkt ulasma izni yok"); 
    }
    ekleyin çalışacaktır.
    bu yolla içerik kısmını eklediğim dosya yine içeriğini aktarmaya devam edecek direk ismini yazıp girmek istediğimizde izin vermıycek değil mi ?
  • 13-07-2013, 11:30:25
    #6
    ycs1907 adlı üyeden alıntı: mesajı görüntüle
    bu yolla içerik kısmını eklediğim dosya yine içeriğini aktarmaya devam edecek direk ismini yazıp girmek istediğimizde izin vermıycek değil mi ?

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 11:27:48 -->-> Daha önceki mesaj 11:06:22 --



    bu yolla içerik kısmını eklediğim dosya yine içeriğini aktarmaya devam edecek direk ismini yazıp girmek istediğimizde izin vermıycek değil mi ?
    evet
  • 13-07-2013, 12:17:14
    #7
    uysal_rockci adlı üyeden alıntı: mesajı görüntüle
    evet

    yaptım ama her ikisinide kısıtladı

    xxx.com/dosyalar.php bu normal sitede görünen linkim tasarım bunda
    dosya.php nin içi boş ben kodlarla içerik ekliyorum bu dosyayı da include töntemiyle dosyalar.php ye çağırıyorum

    bu dediğinizi yaptım dosyalar.php ye girsemde kısıtlı diyo dosya.php ye girsemde .

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 12:17:14 -->-> Daha önceki mesaj 12:16:06 --

    fatihsarac adlı üyeden alıntı: mesajı görüntüle
    hocam bunun bir çok yolu var, seç beğen al;

    gibi bir kaç taneden daha fazla yolu var. bunlardan birisi işini görür diye düşünüyorum.

    yaptım ama her ikisinide kısıtladı

    xxx.com/dosyalar.php bu normal sitede görünen linkim tasarım bunda
    dosya.php nin içi boş ben kodlarla içerik ekliyorum bu dosyayı da include töntemiyle dosyalar.php ye çağırıyorum

    bu dediğinizi yaptım dosyalar.php ye girsemde kısıtlı diyo dosya.php ye girsemde .
  • 13-07-2013, 12:34:56
    #8
    ycs1907 adlı üyeden alıntı: mesajı görüntüle
    Merhaba arkadaşlar ;

    çalışma yapıyorum ama bi sorun var

    örnek olarak dosyalar.php adında sayfam var bunun içine dosya.php yi çağırıyorum herşey güzel ama ben www.xxxx.com/dosya.php yazınca bu sayfa açılıyor bunu nasıl engellerim ?

    dosya php sadece içerik eklemek için kullanılacak yani dosyalar.php ye grince tasarım ile içerik görünecek ama dosya.php ye girilmesini istemiyorum

    şimdiden teşekkürler..
    <?php
    defined("guvenlik") or die("Olmaz !");
    ?>
    dosyaadi.php'ye
    <?php
    define("guvenlik",true);
    ?>
    ekleyiniz.
  • 13-07-2013, 12:51:44
    #9
    kingofseo adlı üyeden alıntı: mesajı görüntüle
    <?php
    defined("guvenlik") or die("Olmaz !");
    ?>
    dosyaadi.php'ye
    <?php
    define("guvenlik",true);
    ?>
    ekleyiniz.

    oldu hocam bu şeklde çalışıyo sağol


    yardımcı olduğunuz için hepinizden Allah razı olsun ..ı