Pagina 1 di 6 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 52
  1. #1

    [PILLOLA] Configurare PHP tramite .htaccess

    Questa pillola vuole aiutare tutti quelli che hanno problemi a causa della configurazione del server apache di chi li hosta!
    Ovviamente non sarà possibile risolvere TUTTI i problemi ma tanti si

    ***Cosa sono i .htaccess***

    I .htaccess sono dei file che contengono DIRETTIVE di apache. Di default hanno il punto davanti per essere invisibili tramite FTP e apache, sempre di default, blocca, ovviamente, il loro download.
    Si possono usare per svariate cose essendo che contengono le direttive! Possono essere usati per potreggere le dir con user e pass, possono essere usati per bloccare l'accesso e tra le tante cose possono essere usati per impostare alcuni parametri di php!
    Principalmente sono utilizzati su linux, anche perché apache non è usato sui sistemi windows. Comunque se doveste fare delle prove sotto win ricordatevi di cambiare il nome di questi file da .htaccess a htaccess.txt in modo da poterli utilizzare sotto windows
    Inoltre dovete modificare, all'interno dei TAG Directory o Location, la direttiva AllowOverride impostandola su ALL e non su NONE o altro. Infatti questa dice ad apache dove è possibile usare i .htaccess! Per modificare il nome dei .htaccess in htaccess.txt dovete cercare la riga
    codice:
    AccessFileName .htaccess
    e cambiarla in

    codice:
    AccessFileName htaccess.txt
    Inoltre dovete anche cambiare

    codice:
    <Files ~ "^\.ht">
        Order allow,deny
        Deny from all
        Satisfy All
    </Files>
    in

    codice:
    <Files ~ "^ht(access|passwd)\.txt$">
        Order allow,deny
        Deny from all
        Satisfy All
    </Files>
    In modo che i file di nome htaccess.txt e htpasswd.txt non siano scaricabili tramite internet! Ovviamente se usate l'autenticazione tramite user e pass di apache ricordatevi di usare come nome di file delle password htpasswd.txt altrimenti sarà possibile scaricare le vostre password

    ***PHP e .htaccess***

    Come abbiamo detto i file .htaccess sono creati per contenere direttive di apache e sono usati per dire ad apache di applicare quelle direttive alla cartella\file in cui si trova il file .htaccess e a tutte le sotto cartelle e relativi file delle sotto cartelle di quella cartella!
    In pratica se abbiamo una dir fatta cosi

    codice:
    root\
      |---img
      |    |---admin
      |    |---user
      |---src
      |---log
    e mettiamo il file dentro root, apache applicherà il contenuto di root anche a img, admin, user, src e log!

    Le direttive di apache usati per impostare i settaggi di php sono
    codice:
    php_flag
    php_value
    Come credo risulti evidente dai nomi, php_flag è usato per impostare a TRUE o FALSE quei settaggi dove è richiesto un valore che specifichi se abilitare o meno quella specifica opzione, mentre php_value e usato in tutti gli altri casi per impostare nelle opzioni di php i valori dei vari parametri che possono essere lettere o numeri o altro ancora!

    Un'esempio di utilizzo è questo

    codice:
    php_flag 	"register_global" 		"0"
    php_value 	"upload_max_filesize"	"4M"
    Potete trovare l'elenco completo dei settaggi che si possono modificare all'indirizzo:
    http://it2.php.net/ini_set

    php_flag può avere valori 0, ovvero FALSE, 1, ovvero TRUE
    php_value deve avere valori attinenti al settaggio che sei vuole cambiare

    I settaggi si dividono in 4 gruppi:
    codice:
    PHP_INI_USER		L'impostazione può essere settata negli script dell'utente tramite ini_set
    PHP_INI_PERDIR		L'impostazione può essere settata nel php.ini, nell'.htaccess ed infine nel file di configurazione di apache httpd.conf
    PHP_INI_SYSTEM		L'impostazione può essere settata soltanto nel php.ini e nell'httpd.conf
    PHP_INI_ALL			L'impostazione può essere settata ovunque (quindi tramite ini_set, php.ini, .htaccess e httpd.conf)
    Qui di seguito riporto tutti i vari campi utili, con relativa descrizione dei settaggi che possonoe essere modificati tramite .htaccess
    Il primo campo è il nome della variabile, il secondo è il valore di default, il terzo con cosa deve essere usato ed infine il quarto contiene la descrizione
    codice:
    ---===[ VARIABILI SESSIONI ]===---
    session.save_path			"/tmp"		VALUE	Specifica dove i file che conterranno le sessioni saranno salvate
    session.name				"PHPSESSID"	VALUE	Specifica il nome del cookie, o del parametro get che conterra l'id di sessione
    session.save_handler		"files"		VALUE	Speficica l'handler per la gestione delle sessioni
    session.auto_start			"0"			FLAG	Indica se la sessione deve partire automaticamente all'avvio
    session.gc_probability		"1"			VALUE	La probabilità, da 1 a DIVISOR, di esecuzione della Garbage Collection delle Sessioni
    session.gc_divisor			"100"		VALUE	Contiene il massimo numero tramite il quale calcolare se eseguire la GC o meno
    session.gc_maxlifetime		"1440"		VALUE	Durata della sessione dall'ultima azione
    session.serialize_handler	"php"		VALUE	Handler per gestire la serializzazione
    session.cookie_lifetime		"0"			VALUE	Durata del cookie
    session.cookie_path			"/"			VALUE	Path del cookie
    session.cookie_domain		""			VALUE	Dominio del cookie
    session.cookie_secure		""			FLAG	Se il cookie è per HTTPS o no
    session.use_cookies			"1"			FLAG	Se può usare i cookie
    session.use_only_cookies	"0"			FLAG	Se può usare SOLO i cookie
    session.referer_check		""			VALUE	Se deve controllare il referer
    session.use_trans_sid		"0"			FLAG	???
    
    ---===[ VARIABILI PER L'OUTPUT ]===---
    output_handler	NULL	VALUE	Specifica a quale funzione passare i dati da inviare a video
    
    ---===[ VARIABILI PER L'OUTPUT COMPRESSO ]===---
    Le variabili qui riportate servono a impostare se php deve inviare il contenuto sotto forma di GZIP per risparmiare banda o meno
    zlib.output_compression			"0"		FLAG	Specifica se abilitare o meno la compressione GZIP
    zlib.output_compression_level	"-1"	VALUE	Specifica il livello di compressione da 1 a 9
    
    ---===[ VARIABILI PER L'HIGHLIGHT DEL CODICE PHP ]===---
    Le variabili qui riportate servono a modificare i colori usati dai comandi php per fare l'highlight
    highlight.bg		HL_BG_COLOR			VALUE	Colore dello sfondo
    highlight.comment	HL_COMMENT_COLOR	VALUE	Colore dei commenti
    highlight.default	HL_DEFAULT_COLOR	VALUE	Colore di default
    highlight.html		HL_HTML_COLOR		VALUE	Colore dell'html
    highlight.keyword	HL_KEYWORD_COLOR	VALUE	Colore delle parole chiavi
    highlight.string	HL_STRING_COLOR		VALUE	Colore delle stringhe
    
    ---===[ VARIABILI PER IL MAGIC QUOTE ]===---
    magic_quotes_gpc		"1"		FLAG	Se deve backslashare i dati provenienti dal GET, dal POST e dai COOKIE
    magic_quotes_runtime	"0"		FLAG	Se deve backslashare in automatico i dati durante l'esecuzione del codice
    magic_quotes_sybase		"0"		FLAG	Se deve backslashare i dati stile SyBase
    
    ---===[ VARIABILI PER IL REGISTER GLOBAL ]===---
    register_globals	"0"		FLAG	Se deve utilizzare il register global
    
    ---===[ VARIABILI PER IL AGGIUNTA DEI FILE ]===---
    auto_append_file	NULL	VALUE	Nome del file da far accodare all'esecuzione dello script
    auto_prepend_file	NULL	VALUE	Nome del file da far precedere all'esecuzione dello script
    
    ---===[ VARIABILI PER IL TEMPO DI ESECUZIONE ]===---
    max_execution_time	"30"	VALUE	Durata massima dell'esecuzione dello script
    max_input_time		"60"	VALUE	Durata massima dell'acquisizione dei dati dal browser
    
    ---===[ VARIABILI PER IL MAGIC QUOTE ]===---
    upload_max_filesize		"2M"	VALUE	Massima dimensione dei file da uploadare
    post_max_size			"8M"	VALUE	Massima dimensione dei dati post possibile da ricevere
    
    ---===[ VARIABILI PER IL MAGIC QUOTE ]===---
    memory_limit	"8M"	VALUE	Limite di memoria massimo da consumare - ALZARE SOLO SE STRETTAMENTE NECESSARIO!!!
    
    ---===[ VARIABILI PER IL MAGIC QUOTE ]===---
    allow_url_fopen		"1"		VALUE	Permette di utilizzare in fopen, file, file_get_contents e simili i wrapper per gli url
    
    ---===[ VARIABILI PER IL MAGIC QUOTE ]===---
    engine	"1"		VALUE	Abilita o disabilita il motore php
    Io vi consiglio di avere SEMPRE un file .htaccess di questo tipo

    codice:
    php_flag	"magic_quotes_gpc"		"1"
    php_flag	"magic_quotes_runtime"	"0"
    php_flag	"register_globals"		"0"
    php_flag	"allow_url_fopen"		"0"
    perché questi settaggi possono salvarvi da TANTI possibili exploit creati per mancanza di conoscenza o disattenzione

    Li si abilita di default il magic quotes e si disabilita quello durante l'esecuzione, dopo di che si disabilita il register global xche è MOLTO pericoloso ed infine disabilita i wrapper degli url nelle funzioni della gestione dei file. Ovviametne impostateli cosi se non avete problemi di altro tipo

    Per vedere se sono abilitati o meno mettete un phpinfo.php, che contenga
    codice:
    <?php
    	phpinfo();
    ?>
    e visualizzatelo!

    Cercate il parametro li dentro e controllate la colonna Local Value, non la Master Value, xche la master value indica il settaggio generale

    spero di esservi stato d'aiuto!
    ciaooooooooooo

    PS: scusate per il mega tag code

  2. #2
    puntualissimo eh!
    :quote:

  3. #3
    uana pillola al giorno!??!

    non ce la faccio a leggerle tutte

  4. #4
    Utente bannato
    Registrato dal
    Aug 2001
    Messaggi
    696
    la aggiungo :metallica

  5. #5
    Originariamente inviato da }gu|do[z]{®©
    uana pillola al giorno!??!

    non ce la faccio a leggerle tutte

    Non le devi per forza leggere il giorno stesso, se le leggi l'indomani non cambia nulla!

    E poi mi sono accorto dell'importanza di avere un'htaccess per risolvere i propri problemi

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    6,034
    bravo

  7. #7
    Utente di HTML.it L'avatar di Pasco
    Registrato dal
    Apr 2002
    Messaggi
    1,559
    ottima :adhone:
    PyFanatics

  8. #8
    ho come la sensazione di aver scordato qualche parametro importante...mmm domattina do un'occhio e guardo ^^


  9. #9
    Utente di HTML.it L'avatar di Pasco
    Registrato dal
    Apr 2002
    Messaggi
    1,559
    devo cambiare la include_path in un vhost , ho provata ad usare ,

    codice:
    php_value include_path .:/class
    purtroppo non funziona

    se però lo inserisco dentro <VirtualHost></VirtualHost> ( nell'httpd.conf ) funziona correttamente :master:

    codice:
    AccessFileName htaccess
    
    <Files ~ "^\ht">
        Order allow,deny
        AllowOverride All
        Allow from all
        Satisfy All
    </Files>
    PyFanatics

  10. #10
    Utente di HTML.it L'avatar di IlNata
    Registrato dal
    Jan 2004
    Messaggi
    128

    Più che ottima direi..

    Ma in questo modo posso risolvere anche ilò problema dei file di sessione?. Si diceva che i file di sessione su apache erano condivisi da tutti gli utenti con accesso nobody, se ora cambio la directory dove salvare i file non dovrei avere più problemi..

    un'altra cosa.. I file htacces.txt se lo metto nella dir principale è applicato praticamente a tutto il sito vero?

    ottima come sempre
    Powered by
    ASUS L5846GXUP P4 3.2 ATI9700 128M 512DDR 80GB
    KUBUNTU 5.10 <----- Che spettacolo!!


    Chicca ti voglio beneeeee :-)

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 © 2024 vBulletin Solutions, Inc. All rights reserved.