• 05-03-2013, 21:23:19
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Arkadaşlar merhaba

    Sitemde tasarım gereği bazı dosyaları include yapmam gerekiyor.. alt.php ust.php sol-menu.php gibi. bu sistemin çalışmasında problem yok. fakat ziyaretçi direkt olarak alt.php yazıp bu dosyayı direkt görüntüleyebiliyor. Amacım bu dosyanin index.php içinden çağırınca çalıştırılması fakat direkt olarak açmaya çalışınca çalışmaması... Bunu nasıl yapabilirim ? Şimdiden teşekkürler
  • 05-03-2013, 21:29:05
    #2
    $url = $_SERVER['REQUEST_URI'];
    if(strstr($url, "alt.php"))
    {
    	echo "hata";
    }
    gibi birşeyler yapabilirsiniz.
  • 05-03-2013, 21:32:20
    #3
    XYZ
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Include edeceğiniz dosyaları "public_html" klasörü dışına koyabilirsiniz.
  • 05-03-2013, 21:37:25
    #4
    Ben şöyle bir komut buldum. Sanırım istediğim işi tamamen görüyor.. Fakat problem olurmu diye profesyonel arkadaşlara sormak istiyorum;

    if ( $REQUEST_URL == $URL_OF_CURRENT_PAGE ) die ("Direkt Erisim Reddedildi!");
  • 05-03-2013, 21:41:59
    #5
    index.php sayfasında define ile birşey tanımla. Diğer sayfalarda bu şey tanımlanmış mı kontrolü yap.
  • 05-03-2013, 22:11:16
    #6
    Kimlik doğrulama veya yönetimden onay bekliyor.
    alt.php yazmak yerine alt123123.php gibi dosyalar yap kimse hostundaki dosyaları göremez dolayısıyla erişemez...
  • 06-03-2013, 09:49:53
    #7
    include ettiğin php dosyalarını ana dizinden farklı bir dizinde tut. Örneğin temalar.
    Bu dizinin içinde .htaccess oluşturacaksın.
    .htaccess dosyasının içeriği de

    <Files *.php>
    order deny,allow
    deny from all
    </Files>
    bu şekilde olacak. Dışarıdan direk erişimlere engelleyeceksin bu dosyaları.
  • 06-03-2013, 09:56:16
    #8
    Üyeliği durduruldu
    En sağlıklı yöntem define ile erişimi engellemek , Konu içerisinde _LosT_'un dediği gibi ;

    index.php dosyanızda bir define tanımlayın
    <?php
    define('INDEX' , TRUE);
    include 'alt.php';
    ?>
    buda alt.php olsun ;
    <?php defined('INDEX') or die('Erişim engellendi.!'); ?>
    html...
  • 06-03-2013, 11:16:50
    #9
    Üyeliği durduruldu
    indexe

    define('ink',1);


    alt.php

    if(empty(ink)){err}else{...}