È consigliabile forzare il tuo server web ad analizzare i file HTML per il codice PHP?

4

Non riesco a ricordare su quale sito ho guardato e raccolto quel bocconcino, ma qualcuno ha suggerito che dovresti tenere l'analisi PHP in file .PHP, e non modificare l'htaccess del tuo server web per includere l'analisi di PHP all'interno dei file .HTML.

È vero? C'è una ragione generalmente concordata sul fatto di farlo in un modo o nell'altro?

    
posta Coldblackice 02.03.2012 - 00:54
fonte

6 risposte

10

Direi che ci sono due punti principali da considerare quando si prende questa o qualsiasi decisione di programmazione / configurazione:

1. Comunicazione:

Per impostazione predefinita, i file HTML sono trattati solo come HTML. La maggior parte degli sviluppatori che entrano nel tuo ambiente può assumere una configurazione predefinita. Tuttavia, se è una pratica generale per gli amministratori di sistema modificare questo, allora quegli sviluppatori potrebbero supporre che i file HTML possano contenere PHP.

Credo che lasciare i file HTML come HTML-only sia un ottimo modo per comunicare a qualsiasi altro sviluppatore che page1.html sia un file HTML puro. In questo modo è facile per i nuovi membri del team decodificare un progetto esistente se questa era la configurazione utilizzata. In questo caso, non è necessario aprire il file per la modifica in quanto si può semplicemente guardare l'estensione del file.

2. Questo potrebbe creare un sovraccarico non necessario?

Supponiamo che tu abbia diversi file HTML statici. Bene, ora il tuo server PHP dovrà analizzare i tuoi file HTML per cercare codice PHP inesistente. Mentre sono sicuro che Apache è abbastanza veloce da non essere un problema enorme, è comunque qualcosa da prendere in considerazione.

Riepilogo:

In sintesi, il mio approccio generale allo sviluppo è che, se non è rotto, non aggiustarlo. Ci sono molte cose che puoi fare se in effetti hai bisogno di farle, ma se non hai una ragione molto strong per usare una configurazione non standard, probabilmente non vale il costo di lasciare il tuo potenziale successore con incomprensioni o confusione.

Detto questo, non sono uno sviluppatore PHP professionista, quindi rendere i file HTML analizzabili dal server può o non può essere considerato una procedura standard. Opterei per andare con quello che sarà più facile per altri sviluppatori PHP che si uniscono a me nel mio progetto.

    
risposta data 02.03.2012 - 03:11
fonte
6

Direi è vero. Non so come dimostrare che è generalmente concordato.

Idealmente, tutti i tuoi file .html non contengono alcun codice php e non dovresti avere il server che li analizza per php.

Se per qualche motivo hai codice php in file .html, ovviamente hai bisogno di averli analizzati per php. In questo caso, dovresti prendere in considerazione la possibilità di modificare quei file in ".php", ma assicurati di aggiornare qualsiasi riferimento a loro e di effettuare un qualche tipo di reindirizzamento se i loro URL fossero pubblici.

    
risposta data 02.03.2012 - 01:10
fonte
4

L'analisi dell'HTML per i tag PHP renderà un ulteriore sovraccarico. Ma a meno che tu non stia parlando di un sito a traffico piuttosto elevato, questo overhead in più non avrà un impatto notevole sulle prestazioni del sito.

Il problema più grande potrebbe essere la manutenzione. Il prossimo saprà che c'è PHP in quei file html? Se questo è un grosso problema o no dipenderà dalla tua situazione specifica.

    
risposta data 03.03.2012 - 07:19
fonte
2

analizzare un file .php in html sul lato server è solo un sovraccarico sull'I / O del server, penso che volessi chiedere informazioni sulla memorizzazione nella cache delle pagine web (questo ridurrà la rete, la CPU, il carico RAM sul server se hai un numero enorme di richieste Web che il tuo server non può gestire)

per favore guarda web chaching qui

    
risposta data 03.03.2012 - 05:08
fonte
2

Per come la vedo io, se hai scelta, cambia l'estensione del file in .php, ma se erediti un sito web e non vuoi che tutti gli indirizzi cambino quando inizi a inserire include e cosa no, allora puoi analizzare php nei file html o usare mod-rewrite per simularlo. (Dal momento che hai menzionato .htaccess, sto continuando l'ipotesi di Apache.)

L'unica volta che mi sono imbattuto in questo problema è che ho ereditato un sito che conteneva tag XML, (non so davvero perché) e i tag brevi php erano abilitati, quindi ha cercato di analizzare XML come PHP. Quello che ho fatto per quello è stato uno strumento di ricerca / sostituzione per:

//change all the <?XML tags to 
echo'<?XML';

All'epoca non sapevo davvero cosa stavo facendo. Ora potrei talvolta sapere cosa sto facendo. ;)

    
risposta data 03.03.2012 - 04:17
fonte
0

Direi di non cambiarlo, usa .php.

Creare un sovraccarico non necessario per il server non è il problema principale. La manutenzione potrebbe essere un problema se un altro ragazzo gestisce gli aggiornamenti del server e non ha idea di controllare se i file .html abbiano smesso di funzionare per errore - tutti pensano che sia statico.

Il nocciolo del problema è la sicurezza. Questa piccola eccezione in .htaccess potrebbe rompersi semplicemente cambiando il livello dei comandi consentiti in .htaccess o dalla direttiva AllowOverride None in qualsiasi punto delle cartelle sopra. Se succede qualcosa del genere e il file php non viene analizzato, tutto il tuo codice è immediatamente visibile. Tutti i tuoi inclusi e, infine, tutte le password potrebbero diventare visibili pubblicamente a tutti .. e potrebbe anche essere memorizzato nella cache dai motori di ricerca.

    
risposta data 28.10.2015 - 00:20
fonte

Leggi altre domande sui tag