• 10-06-2021, 17:29:34
    #1
    Merhabalar,

    header.php ve footer.php dosyam var. Bu dosyalara kullanıcıların otomatik olarak erişmesini istemiyorum. Sadece include ettiğim yerde görünsün istiyorum. Bunu nasıl sağlayabilirim?


    Teşekkürler,
    iyi forumlar.

    Çözüm:
    index.php dosyanızın en üstüne yapıştırın;
    <?php define("guvenlik", true); ?>
     
    header.php ve footer.php sayfanızın en üstüne yapıştırın;
    <?php echo !defined("guvenlik") ? die("Hacker misin?") : null; ?>
  • 10-06-2021, 17:32:53
    #2
    <?php
    if ($_SERVER['SCRIPT_NAME'] == '/footer.php') {
    http_response_code(403);
    exit;
    }
  • 10-06-2021, 17:34:04
    #3
    alperhan adlı üyeden alıntı: mesajı görüntüle
    <?php
    if ($_SERVER['SCRIPT_NAME'] == '/footer.php') {
    http_response_code(403);
    exit;
    }
    Tam olarak ne işe yarıyor hocam?
  • 10-06-2021, 17:36:44
    #4
    ibocum adlı üyeden alıntı: mesajı görüntüle
    Tam olarak ne işe yarıyor hocam?
    Eğer doğrudan footer.php dosyası çalıştırılsa 403 (Forbidden) yanıtını dönderip işlemi kapatır. Bu dosyayı footer dosyanızın en üstüne ekleyerek doğrudan görüntülemeyi engelleyebilirsiniz. Aynısını header içinde yapabilirsiniz. Eğer her dosyanıza dahil edilen ve ilk çalışan bir dosyanız varsa daha iyi olarak şunu yapabilirsiniz.
    <?php
    $blocked_files = ['footer.php', 'header.php']
    if (in_array(substr($_SERVER['SCRIPT_NAME'], 1), $blocked_files)) {
    http_response_code(403);
    exit;
    }
  • 10-06-2021, 17:40:11
    #5
    alperhan adlı üyeden alıntı: mesajı görüntüle
    Eğer doğrudan footer.php dosyası çalıştırılsa 403 (Forbidden) yanıtını dönderip işlemi kapatır. Bu dosyayı footer dosyanızın en üstüne ekleyerek doğrudan görüntülemeyi engelleyebilirsiniz. Aynısını header içinde yapabilirsiniz. Eğer her dosyanıza dahil edilen ve ilk çalışan bir dosyanız varsa daha iyi olarak şunu yapabilirsiniz.
    <?php
    $blocked_files = ['footer.php', 'header.php']
    if (in_array(substr($_SERVER['SCRIPT_NAME'], 1), $blocked_files)) {
    http_response_code(403);
    exit;
    }
    Maalesef çalışmıyor hocam.
  • 10-06-2021, 17:43:35
    #6
    ibocum adlı üyeden alıntı: mesajı görüntüle
    Maalesef çalışmıyor hocam.
    Noktalı virgülü unutmuşum
    <?php
    $blocked_files = ['footer.php', 'header.php'];
    if (in_array(substr($_SERVER['SCRIPT_NAME'], 1), $blocked_files)) {
    http_response_code(403);
    exit;
    }

    Çalışmakta.
  • 10-06-2021, 17:46:12
    #7
    Doğrudan açılmasının istemediğimiz sayfalar için güzel bir yöntem. teşekkürler.


    alperhan adlı üyeden alıntı: mesajı görüntüle
    Noktalı virgülü unutmuşum
    <?php
    $blocked_files = ['footer.php', 'header.php'];
    if (in_array(substr($_SERVER['SCRIPT_NAME'], 1), $blocked_files)) {
    http_response_code(403);
    exit;
    }

    Çalışmakta.
  • 10-06-2021, 17:50:07
    #8
    alperhan adlı üyeden alıntı: mesajı görüntüle
    Noktalı virgülü unutmuşum
    <?php
    $blocked_files = ['footer.php', 'header.php'];
    if (in_array(substr($_SERVER['SCRIPT_NAME'], 1), $blocked_files)) {
    http_response_code(403);
    exit;
    }

    Çalışmakta.
    Noktalı virgülü kendim düzelttim fakat yine de erişebiliyorum
  • 10-06-2021, 17:52:00
    #9
    ibocum adlı üyeden alıntı: mesajı görüntüle
    Noktalı virgülü kendim düzelttim fakat yine de erişebiliyorum
    <?php
    $blocked_files = ['footer.php', 'header.php'];
    if (in_array(substr($_SERVER['REQUEST_URI'], 1), $blocked_files)) {
    http_response_code(403);
    exit;
    }
    Hostinginizle alakalı olabilir hocam, üstteki kodu deneyebilirsiniz.