Friday, May 6, 2011

ASP, CGI e gli script PHP e di blocco dei record: Ciò che ogni webmaster deve sapere

Molti di noi installare server-side (ASP, CGI o PHP) script sui nostri siti web, e molti di questo script di memorizzare i dati sul server. Tuttavia, mal progettato script possono verificare problemi di prestazioni e, talvolta, anche la corruzione dei dati su occupato (e non così occupato) siti web.

Se non sei un programmatore, perché questo importa a te?

Risposta: Anche se sei solo l'installazione e l'utilizzo di script lato server, ti vuole fare in modo che gli script attenzione per evitare che non a caso rompere o danneggiare i vostri dati.

In primo luogo, alcuni esempi dei tipi di script che conservano i dati sui server Web includono:

(Naturalmente, molti script in ciascuno di questi (e altri) le categorie sono ben progettate, ed eseguire perfettamente anche su siti web molto occupato).

1. Follow-up autoresponders tipicamente memorizzare l'elenco degli abbonati al autoresponder, nonché dove nella sequenza di messaggi, ogni abbonato è. Esempi di script di risposta automatica: http://www.scriptcavern.com/scr_email_auto.php

2. Classificato annuncio script conservare (almeno) un elenco di tutti gli annunci immessi dai visitatori. Esempi di questo tipo di script: http://www.scriptcavern.com/scr_classified.php

3. Gratuito per tutti gli script link memorizzare un elenco di tutti i link postati dai visitatori. Vedi alcuni script di esempio elencati: http://www.scriptcavern.com/scr_ffa.php

4. script sito Inizio di solito memorizzare un elenco dei membri del sito principale, nonché informazioni sul numero di "voti" che ciascuno ha ricevuto. Per alcuni esempi di questo tipo di script, vedere http://www.scriptcavern.com/scr_topsite.php

Quindi, che tipo di script sono problemi? E che tipo di problemi sto parlando?

Bene i problemi principio tutti si riferiscono a ciò che accade quando i bit di dati provenienti da più utenti deve essere memorizzati sul aggiornato allo stesso tempo. Alcuni script di gestire queste situazioni bene, ma altri no ...

DATI DI CORRUZIONE

Ecco un problema comune danneggiamento dei dati che possono verificarsi con molti script:

1. Quando qualche po 'di dati deve essere aggiornato, una copia dello script lato server comincia a correre, e poi comincia il suo aggiornamento.

2. Se un altro utente arriva e fa un aggiornamento prima la prima copia della sceneggiatura è finita, una seconda copia dello script comincia a correre nello stesso momento.

http://www.scriptcavern.com/scr_topsite.php

Quindi, che tipo di script sono problemi? E che tipo di problemi sto parlando?

Bene i problemi principio tutti si riferiscono a ciò che accade quando i bit di dati provenienti da più utenti deve essere memorizzati sul aggiornato allo stesso tempo. Alcuni script di gestire queste situazioni bene, ma altri no ...

DATI DI CORRUZIONE

Ecco un problema comune danneggiamento dei dati che possono verificarsi con molti script:

1. Quando qualche po 'di dati deve essere aggiornato, una copia dello script lato server comincia a correre, e poi comincia il suo aggiornamento.

2. Se un altro utente arriva e fa un aggiornamento prima la prima copia della sceneggiatura è finita, una seconda copia dello script comincia a correre nello stesso momento.

3. Ci sono un certo numero di cose modi può andare male, per esempio:

(A) Che cosa succede se la prima copia del copione si legge nei dati, poi la seconda copia legge i dati stessi, poi gli aggiornamenti della prima copia i dati, quindi gli aggiornamenti seconda copia dei dati? Risposta: tutte le modifiche apportate dalla prima copia dello script si può perdere.

(B) Cosa succede se la copia di primo e secondo script sono entrambi aggiungendo più bit di dati nuovi al negozio, allo stesso tempo? Per esempio, immaginate ogni necessità di conservare il titolo, la descrizione e il nome della persona che ha inserito un annuncio. Ebbene, ciò che può accadere (con qualche script) sono i due annunci possono ottenere intrecciate, per cui si potrebbe ottenere (per esempio) HEADLINE-1, DESCRIZIONE-1, HEADLINE-2, persona-1, DESCRIZIONE-2, persona-2 . O peggio ancora, si potrebbe ottenere bit di ogni parte di ogni annuncio, mescolato con i bit degli altri. Questo tipo di cosa che di solito è notizia davvero male, come i dati possono quindi diventare inutilizzabile da quel punto in poi.

Vi sembra troppo improbabile un problema di cui preoccuparsi? Non banca su di esso ... anche se capita solo 1 volta su 1.000 o 1 su 10.000, alla fine ciò succeda: Avete bisogno di una soluzione.

corruzione problema che può verificarsi con molti script:

1. Quando qualche po 'di dati deve essere aggiornato, una copia dello script lato server comincia a correre, e poi comincia il suo aggiornamento.

2. Se un altro utente arriva e fa un aggiornamento prima la prima copia della sceneggiatura è finita, una seconda copia dello script comincia a correre nello stesso momento.

3. Ci sono un certo numero di cose modi può andare male, per esempio:

(A) Che cosa succede se la prima copia del copione si legge nei dati, poi la seconda copia legge i dati stessi, poi gli aggiornamenti della prima copia i dati, quindi gli aggiornamenti seconda copia dei dati? Risposta: tutte le modifiche apportate dalla prima copia dello script si può perdere.

(B) Cosa succede se la copia di primo e secondo script sono entrambi aggiungendo più bit di dati nuovi al negozio, allo stesso tempo? Per esempio, immaginate ogni necessità di conservare il titolo, la descrizione e il nome della persona che ha inserito un annuncio. Ebbene, ciò che può accadere (con qualche script) sono i due annunci possono ottenere intrecciate, per cui si potrebbe ottenere (per esempio) HEADLINE-1, DESCRIZIONE-1, HEADLINE-2, persona-1, DESCRIZIONE-2, persona-2 . O peggio ancora, si potrebbe ottenere bit di ogni parte di ogni annuncio, mescolato con i bit degli altri. Questo tipo di cosa che di solito è notizia davvero male, come i dati possono quindi diventare inutilizzabile da quel punto in poi.

Vi sembra troppo improbabile un problema di cui preoccuparsi? Non banca su di esso ... anche se capita solo 1 volta su 1.000 o 1 su 10.000, alla fine ciò succeda: Avete bisogno di una soluzione.

Quindi la vera domanda è: è possibile per i programmatori di creare script senza questi tipi di problemi? Fortunatamente la risposta è sì, e ci sono un certo numero di modi in cui i programmatori possono essa indirizzo:

1. Essi possono memorizzare ogni bit di dati in un file separato. Questo non è necessariamente una soluzione totale per sé (in particolare, uno script che fa proprio questo potrebbe avere ancora problemi se le copie multiple di uno script di aggiornare il file stesso, allo stesso tempo), ma rende meno probabile il danneggiamento dei dati, e se la corruzione si verifica, almeno non danneggerà l'intero archivio dei dati in una volta.

2. Possono utilizzare il file-locking. Questo significa che se una copia di uno script sta lavorando con un file, un'altra copia dello script è impedito di lavorare su quel file, fino a quando la prima copia è terminato. File-blocco, se fatta correttamente, ma di programmazione in uno script deve essere fatto con molta attenzione e precisione, per ogni singolo caso possibile ... anche un piccolo errore o omissione può consentire la possibilità di corruzione dei dati attraverso la backdoor!

3. Si può utilizzare un database (come MySQL) per memorizzare i dati. Ha fornito i dati sia correttamente strutturato nel database, il database gestisce il bloccaggio automatico. E, come il programmatore non ha bisogno di scrivere la loro routine di chiusura speciali, la possibilità di errori e omissioni sono molto ridotti.

No comments:

Post a Comment