EspañolDeutschFrançaisItalianoPortuguêsРусскийΕλληνικά日本語中文(简体)हिन्दी; हिंदीالعربية
Configura come lingua predefinita
Domande di PF - Cose da fare

Il 10 grossi bug su MySQL che facciamo i programmatori PHP

Webmaster e SEO  
 
Il 10 grossi bug su MySQL che facciamo i programmatori PHP

Quando programmi in PHP e l'applicazione inizia ad avere taluni apertura alare, la cosa più logica è che avete bisogno di sostenervi in un sistema di gestione di database per memorizzare e modificare tutti i dati riguardanti lo stesso. Nel caso di PHP, il sistema utilizzato in misura maggiore è MySQL.

Non è facile costruire una solida banca dati, affidabile, che è privo di incoerenze e le vulnerabilità e, Pertanto, hanno una struttura basata su una qualsiasi delle forme normali più comunemente usato. Quindi è normale che, come programmatori PHP, rientra in alcuna della errori gravi Quando si lavora con MySQL.

 

1. Utilizzare invece di InnoDB MyISAM

MyISAM è il motore configurato per impostazione predefinita nell'installazione di MySQL ma, a meno che non hai ancora il tuo progetto o il database in fase di sviluppo è abbastanza semplice, ES consigliabile utilizzare InnoDB. Questo ammette transazioni, essenziale per l'integrità dei dati. Inoltre, al momento dell'inserimento o aggiornamento di un record, solo blocchi a questo, e non la tabella intera come fa MyISAM, avendo un effetto positivo sul prestazioni, soprattutto nella Scritture.

 

2. Non utilizzare le funzioni adatte per MySQL con PHP

PHP fornisce funzioni specifiche per la connessione e l'utilizzo di MySQL. Funzioni come mysql_connect, mysql_query, … Queste funzioni sono state migliorato per le versioni di PHP maggiore o uguale alla 4.1.3, quindi si consiglia di utilizzare quest'ultimo, chiamata MySQLi. Questo presenta una serie di vantaggi come un'interfaccia orientato agli oggetti, prevenzione di attacco utilizzando SQL injection il preparedStatements, aumento delle prestazioni, ecc.

 

3. Non sterilizzare le voci utente

Per la non puliscono il biglietti l'utente e utilizzarle per creare un'istruzione SQL, cui eseguire sul database, Stiamo dando luogo a un vulnerabilità consentendo la iniezione di codice SQL i campi da cui prendiamo questi valori.

Se, da esempio, Stiamo trattando un login utente, e per ottenere i dati del modulo assegniamo loro direttamente nel modo seguente:

Se nel campo nome Introduciamo il valore “Admin ’; –“ (senza virgolette), la catena SQL risultante sarebbe come segue:

Con ciò che l'utente sarebbe d'accordo direttamente senza introdurre qualsiasi tipo di password, In aggiunta ad aderire come amministratore, Se Admin Era qualche nome utente amministratore.

 

4. Non utilizzano la codifica UTF-8

Utilizzare questa codifica evita molti problemi di internazionalizzazione, Dal momento che dobbiamo tenere a mente che il nostro web sito non solo lo si accederà dal nostro paese, ma da paesi cui carattere imposta Essi differiscono notevolmente Quei bravi ragazzi.

 

5. Facciamo tutti usando PHP

È comune per eseguire qualsiasi codifica utilizzando il linguaggio PHP, anche quelle funzioni che sarebbero molto più più veloce Se fate loro la Manager database. Per esempio, utilizzare un ciclo PHP per calcolare un media, sommando tutti i valori di un set di record, invece di utilizzare la funzione nativa di MySQL, MEDIO().

Allo stesso modo, C'è la possibilità di codifica funzioni e procedure interne nel proprio database, favorendo le prestazioni la nostra applicazione in termini globali.

 

6. Non ottimizzare query

Il 99% è una performance di applicazione PHP problemi causati da database. Devi essere consapevole che un semplice Query non valida Può causare un collo di bottiglia sul nostro sito web, quindi si consiglia di eseguire un ottimizzazione consultazioni più pesante.

Ci sono applicazioni e script si passerà in rassegna il server MySQL e vi darà Suggerimenti per migliorare le loro prestazioni, come pure vi mostreranno le query possibile che dovrebbero essere ottimizzate.

 

7. Utilizzare tipi di dati non corretti

MySQL fornisce un insieme di tipi di dati diversi (numerico, catena, tempo, Data, …). Se hai intenzione di memorizzare un Data, utilizzare il tipo di VI DIAMO o DATETIME, invece di utilizzare un VALORE INTEGER o STRINGA, di fare di più complicato le consultazioni.

Spesso, sta tentando di creare il tuo tipi di dati di propria e memorizzarli nel database come Oggetti PHP serializzato. Anche se la gestione del database sarà più facile, si impedirà eseguire facilmente ricerche e query circa i dati memorizzati.

 

8. Utilizzare l'asterisco (*) nella query di selezione

Mai utilizzare l'asterisco nel corso delle consultazioni SELEZIONARE, a meno che non è rigorosamente necessarie. Cerco di fare sempre una consultazione sui campi che si ha realmente bisogno, altri sono usurate risorse invano.

 

9. Non indicizzare o sobre-indexacion

Normalmente, il indici si applicano a qualsiasi colonna che una query di selezione si esibirà la sua dove, di utile del creare indici per una query che consumano più risorse e quelli che vengono normalmente utilizzati.

Allo stesso modo, Aggiungi indici per ogni colonna Si può fare prestazioni di caduta perché server a cui devono essere rigenerato per ogni inserimento o l'aggiornamento della tabella.

 

10. Dimenticare di backup

Che ci crediate o no, i database esito negativo, così come dischi rigidi o qualsiasi altro hardware o software che possono avere il server dove avete ospitato i database. Se l'applicazione web ha certo importanza, Immaginate di perdere colpo tutte le informazioni su di esso.

Per evitare questo, Si è soliti fare backup regolari, o semplicemente, pianificarle che sono effettuate automaticamente.

 

Come si può vedere, Questi sono solo 10 errori gravi Gli sviluppatori PHP possono o tendono a commettere quando si lavora con il database manager MySQL. Inutile dire che, Oltre a questo, così ben noto, database di sistema, Ci sono altre soluzioni Lo stesso affidabile e buono, e che possono essere anche l'opzione per i progetti o applicazioni web che dobbiamo sviluppare in PHP.

Lasciaci un commento o accedere allaCose da fare
Share on Facebook Tweet about this on Twitter Share on Google+ Pin on Pinterest Share on Reddit Share on VK Share on StumbleUpon Share on Tumblr Share on LinkedIn Email this to someone Print this page

Articoli correlati