2011-08-16 5 views
6

Ci sono un certo numero di campi che un utente può compilare dove inserire un URL (il proprio sito web personale, sito aziendale, siti preferiti, ecc. Ecc.)."http: //" dovrebbe essere memorizzato con un record del database di un URL?

È l'unica cosa che stanno entrando in quel particolare campo.

Quindi dovrei sempre togliere "http: //" per mantenerlo coerente e anche ridurre la possibilità di collegamenti interrotti (ad esempio "http //")?

Non so quale sia il modo migliore per archiviare gli URL.

+3

C'è un motivo per rimuoverlo? che dire della distinzione tra questo e HTTPS? Direi che un URL con un protocollo è più utile di uno senza. –

+0

Per coerenza. Quindi Joe Schmoe potrebbe inserire "http: //" mentre Bob Smith potrebbe non inserirlo. Ho bisogno che sia coerente quando esco dal link. – Shpigford

+0

in caso di https, se un utente utilizza http, il server reindirizza automaticamente a https. quindi, anche se l'http viene aggiunto, non viene fatto alcun danno – nonouco

risposta

6

Se c'è un motivo per disinfettare l'input dei tuoi utenti (sicurezza, dimensioni, velocità, accuratezza ...) fallo.

Altrimenti no.

In realtà c'è un vantaggio molte volte nel prendere i dati di input del cliente così come sono. Possiedono i loro errori di battitura o errori ortografici, collegamenti interrotti, ecc. In questo modo. Fintanto che non causa un problema per te (cioè non hai un motivo per sanitizzarlo).

BTW: la coerenza è un punto controverso, in quanto non modifica il tipo di dati e puoi facilmente controllare "http: //" e aggiungerlo o rimuoverlo, se necessario, nei livelli di presentazione con un -funzione utile.

5

Per quanto ti conosco in realtà non si può chiamarlo un "URL", senza avere la parte protocollo:

http://www.w3.org/Addressing/URL/url-spec.txt

non sarebbe rimuoverlo.

Tuttavia, se è davvero necessario mantenere i dati coerenti, dipende in realtà da come l'URL è effettivamente digitato nella propria applicazione. Se si tratta di un'applicazione simile a un browser, direi che si può supporre che sia http: // in primo piano se non ce n'è, per collegamenti validi.

Problemi correlati