protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito

  • Creatore Discussione Creatore Discussione dastur67
  • Data di inizio Data di inizio
Stato
Chiusa ad ulteriori risposte.

dastur67

Nuovo Utente
2 Mar 2023
4
0
1
Buongiorno a tutti.

Sul sito sul quale sto lavorando sono presenti tre cartelle:
- eseguibili
- chiavi
- controlli

Le tre cartelle si trovano sulla directory radice del sito:
- nome_sito/eseguibili
- nome_sito/chiavi
- nome_sito/controlli


Il processo è il seguente:

1. un form (contenuto in un file HTML posto in un'altra cartella del sito), che deve essere compilato dall'utente, richiama un file eseguibile.php (contenuto nella cartella "eseguibili"):

Codice:
<form method="post" action="/eseguibili/file_eseguibile.php">


2. il file eseguibile.php include (tramite "require_once") un file chiave.php dalla cartella "chiavi" e un file controllo.php dalla cartella "controlli":

Codice:
<?php
require_once ("/chiavi/file_chiave.php");
require_once ("/controlli/file_controllo.php");
?>


Il file chiave.php contiene dei valori, che devono corrispondere con quelli inseriti dall'utente nel form.
Il file controllo.php verifica la corrispondenza (fa il match) fra i valori inseriti dall'utente e quelli contenuti nel file chiave.php

Ho questa necessità:
- evitare assolutamente la visualizzazione/scaricamento dall'esterno (accesso dal web) dei file contenuti nelle tre cartelle summenzionate;
- al tempo stesso, permettere al file eseguibile.php di accedere alle cartelle "chiavi" e "controlli" per richiamare i file chiave.php e controllo.php necessari all'elaborazione dei dati acquisiti tramite il form.


Stato attuale:
al momento è presente, in ognuna delle tre cartelle, un file .htaccess contente unicamente "Options -Indexes" e temo che ciò sia la causa che inibisce al file eseguibile.php di "attingere" dalle altre due cartelle ("chiavi" e "controlli") i rispettivi file necessari all'elaborazione dei dati inviati tramite il form.
Ottengo, infatti, un errore 500.

Prima di postare questa richiesta, ovviamente ho provato a documentarmi, ma sono solo un professore di italiano con modesta esperienza di programmazione. Avrei voluto avere più tempo per imparare tutto sulle direttive Apache, ma sono pressato dal tempo e, per questi motivi, auspico un aiuto da chi ne sa senz'altro più di me.

Grazie.

Giuseppe
 
Aggiornamento:

nel frattempo, il problema del messaggio "Error 500" è stato risolto così:

Codice:
<?php
require_once ("../chiavi/file_chiave.php");
require_once ("../controlli/file_controllo.php");
?>

Praticamente dovevo risalire di un livello nell'albero delle directory.


Rimane, cortesemente, la necessità di protezione dei file "dall'esterno" e, contemporaneamente, permettere al file eseguibile.php l'accesso alle rimanenti cartelle "protette".

Grazie infinite!
 
Stato
Chiusa ad ulteriori risposte.

Discussioni simili