Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    non permettere il richiamo di un file include

    ciao a tutti.
    Ho dei file che uso solo come include e vorrei per motivi di sicurezza che non fossero richiamabili esternamente...

    Ho questo script, ma mi sembra che non funzioni:

    if ( __FILE__ == str_replace("/", "\\", $_SERVER['SCRIPT_FILENAME']) ) {
    exit('<h2>Accesso non consentito</h2>') ;
    }

    che ne dite?

  2. #2
    Studiati questo codice:

    Codice PHP:
    <?php 
    if (realpath(__FILE__) === realpath($_SERVER['SCRIPT_FILENAME'])) {
        die(
    '<h2>Accesso non consentito</h2>');
    }
    ?>

  3. #3
    se lo inserisco come codice nella pagina funziona... ma se quel codice lo metto a sua volta in un file come include e appunto lo includo in diverse pagine non mi funziona

    OUT OF TOPIC:
    mi viene un dubbio da super ignorante. Ma se apro i tag del php solo con <? e non con <?php mi cambia qualcosa?

    grazie mille per la pazienza!

  4. #4
    Originariamente inviato da zoc
    se lo inserisco come codice nella pagina funziona... ma se quel codice lo metto a sua volta in un file come include e appunto lo includo in diverse pagine non mi funziona
    Che cosa significa "non mi funziona"?
    Ottieni degli errori?
    Ottieni un comportamento inatteso? Se si, quale?

  5. #5
    nel senso che se il codice che mi hai passato lo metto nella pagina pippo.php e richiamo dal browser pippo.php allora mi rimbalza ed è tutto giusto.
    Se invece metto il codice che mi hai dato in un file includimi.php e in pippo.php metto include("includimi.php"); e richiamo dal browser pippo.php allora non mi funziona.

  6. #6
    Originariamente inviato da zoc
    nel senso che se il codice che mi hai passato lo metto nella pagina pippo.php e richiamo dal browser pippo.php allora mi rimbalza ed è tutto giusto.
    Se invece metto il codice che mi hai dato in un file includimi.php e in pippo.php metto include("includimi.php"); e richiamo dal browser pippo.php allora non mi funziona.
    Che cosa significa "non mi funziona"?

    A cosa ti serve uno script PHP che non può essere ne richiamato direttamente ne incluso?

  7. #7
    no, vorrei che pippo.php dove ho messo l'include("includimi.php"); non fosse richiamabile, ma solo utilizzabile come include.

    In includimi.php ci sta il codice che mi hai passato.

    grasssie!

  8. #8
    Codice PHP:
    <?php
    // includimi.php  
    function protect_me($file) {
      if (
    realpath($file) === realpath($_SERVER['SCRIPT_FILENAME'])) {
          die(
    '<h2>Accesso non consentito</h2>');
      }
    }
    ?>
    Codice PHP:
    <?php 
    // pippo.php 
    require_once(dirname(__FILE__) . '/includimi.php');
    protect_me(__FILE__);
    ?>

  9. #9
    mmm.... non capisco perche non mi vada.
    Secondo me ho dei problemi causa la struttura di include. Mi studio bene il codice che mi hai passato cosi individuo magari l'inghippo.

    OOT: e invece per quella boiata del <?php o <?

    grazie!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.