ma guarda che se tu blocchi in questo modo i files, li blocchi per tutti, non solo per quelli non autenticati.
ma guarda che se tu blocchi in questo modo i files, li blocchi per tutti, non solo per quelli non autenticati.
a me serve, strutturare l'.htaccess in modo che, i file vengono consultati e/o caricati solo attraverso i link del sito, in altro modo NO.
L'unico file che deve avere il permesso è quello dell'autenticazione.
Avrei voluto proseguire con php ma ho 4-5 mila pagine e non mi pare il caso...
Sto cercando sul web, ma sono tutti esempi che con il mio caso non c'entrano una mazza.
Cioè, è possibile sia cosi difficile, permettere l'accesso ad un solo file e negarlo a tutte le sottodirectory?
Baahh...continuo nella mia ricerca.
Ti ringrazio come sempre.
Se ti viene qualcosa in mette batti un colpo![]()
Allora,
solo con .htaccess con deny/allow, etc tu non puoi gestire il discorso autenticato/non autenticato. Puoi semplicemente togliere/dare accesso a tutti.
Quindi hai bisogno di un autenticazione apache. L'autenticazione base di apache non lavora con ldap. Quindi hai bisogno di mod_auth_ldap.
praticamente ho risolto in questo modo:
Originariamente la struttura del sito era cosi:
Ora:codice:nuovosito/<<dir contenente tutti i file e le sotto cartelle - index_auth.php - login.php - logout.php Chisiamo/ chi_siamo.php dove_siamo.php DOC/ stampaPDF.pdf leggiPDF.pdf
Praticamente, la cartella nuovosito,il file .htaccess e l'index_auth.php sono tutti nello stesso livello, contenuti dalla nuova directory-padre "interno".codice:interno <<directory principale - nuovosito <<dir contenente tutti i file e le sotto cartelle - .htaccess - index_auth.php
In questo modo non ho problemi nel gestire il contenuto della directory nuovosito:
Ora ultima domanda(speriamo):Come posso, reindirizzare l'utente, dopo che gli è apparsa, la pagina di ACCESSO NEGATO?codice:Options -Indexes
Ho provato in questo modo ma niente:
Non mi reindirizza da nessuna parte....codice:Options -Indexes RewriteCond %{HTTP_HOST} ^localhost/websites/interno/index.php$ [NC] RewriteRule ^(.*)$ http://localhost/websites/interno/index.php$1 [L,R=301]
Grazie ancora![]()
Non ti seguo.
Come fa il tuo apache a capire se un utente e' loggato o no?
allora.
questa è la dir:
interno/
dalla pagina interno/index_auth.php invio user e password a intero/principale/login.php.
Qui eseguo l'autenticazione, sto provando e riprovando senza problemi.
L'.htaccess settato cosi:
mi blocca l'accesso se si tenta di effettuarlo attraverso l'url nella barra degli indirizzi.codice:Options -Indexes
es:http://localhost/websites/interno/principale/
restituendomi questo messaggio:
Ora la cosa che non capisco e vorrei risolvere è questa.codice:Accesso negato! Non disponi dei permessi necessari per accedere alla directory richiesta oppure non esiste il documento indice. Se pensi che questo sia un errore del server, per favore contatta il webmaster.
Se digito nella barra degli indirizzi:
Mi da la pagina "Accesso Negato" sopra riportata.codice://esempio 1 http://localhost/websites/interno/principale/ //esempio 2 http://localhost/websites/interno/principale/ChiSiamo //esempio 3 http://localhost/websites/interno/principale/Torneo
Se invece digito:
mi visualizza la pagina.
Ora credo ci sia un'ulteriore porzione di codice da aggiungere.
Provando con questo:
dovrebbe bloccare tutti i file contenuti nella directory "principale", ma invece manco per niente.codice:Options -Indexes <FilesMatch "principale\.php"> order deny,allow deny from all </FilesMatch>
Quindi?
grazie ancora![]()
Non ci siamo, hai le idee molto confuse.
Options -Indexes semplicemente disattiva il directory listing in apache, non ha nulla a che fare con le autenticazioni o altro. Per questo, se digiti l'indirizzo di qualsiasi cartella senza specificare il file, ti da' accesso negato. Se invece digiti l'indirizzo completo di qualsiasi file, vedrai il file.
Punto successivo: FilesMatch fa il controllo sui file, non sulle directory. Quindi se vuoi disabilitare l'accesso ai files php nella directory "principale", dovresti avere un file .htaccess in quella cartella con il contenuto
<FilesMatch "\.php">
order deny,allow
deny from all
</FilesMatch>
Ultimo punto: Anche se tu neghi l'accesso alla directory "principale", come pensi di dare accesso agli utenti autenticati?!
si avevi ragione non c'ero
Allora, ho aggiunto l'htaccess nella cartella principale con gli attributi Options -Indexes.
Cosi facendo ho disabilitato la cartella "principale" e tutte le sottodirectory.
Anche in questo modo, l'autenticazione è ok.
Purtroppo quello che vorrei è di disabilitare la visualizzazione dei file.
Quindi, una domanda per definire una volta per tutte il discorso dell'.htaccess.
Praticamente non è possibile disabilitare la visualizzazione di tutti i file.php contenuti nella directory "principale" in quanto ne risentirebbe l'autenticazione e non solo.
A sto punto penso che non sia nemmeno uno standard che si adotta normalmente, nel senso che, le pagine possono essere anche visualizzate attraverso un url diretto digitato nella barra degli indirizzi senza nessun problema. Giusto?
A meno che, la pagina chi_siamo.php, gli si debba negare l'accesso diretto, creeremo un'.htaccess all'interno della cartella che la contiene, con questi comandi:
Oppure a tutti i file in esso contenuti:codice:<FilesMatch chi_siamo.php> order deny,allow deny from all </FilesMatch>
In questo modo si riesce a fare quello che voglio.Giusto?codice:<FilesMatch \.php> order deny,allow deny from all </FilesMatch>
Ma solo per quei file che non sono determinanti per l'autenticazione.
Dimmi per favore se fin qui ci sono.
Si, con l'ultimo .htaccess disabiliti ricorsivamente l'accesso ai file php contenuti nella cartella dove esso e' situato. Questo blocco nega l'accesso ai file a qualsiasi utente.
Ma non ho capito come intendi dare dopo accesso a questi file agli utenti autenticati.
l'accesso a questi file è solo tramite il classico collegamento ipertestuale "link"...tutto quà!!!
Cioè le pagine del sito devono essere visualizzate solo attraverso i link.codice:Chi Siamo
Ho provato ad inserire un htaccess con queste caratteristiche all'interno della cartella ChiSiamo:
E devo dire che, se cerco di accedere ai file in modo diretto, mi nega il permesso.codice:<FilesMatch \.php> order deny,allow deny from all </FilesMatch>
Se invece entro nel sito e clicco sul link che richiama la pagina chi_siamo.php e le altre, le visualizzo in modo corretto...
Ora, una domanda da un milione di euri, cosi sono due
Se nego l'accesso con l'htaccess è possibile che le mie pagine vengano scartate dai motori di ricerca?
Grazie ancora![]()