Registrarsi sul sito web di una compagnia di assicurazioni adesso, e la mia password è lunga 16 caratteri, usando una buona varietà di lettere, numeri, caratteri speciali, ecc. Tuttavia, ecco il loro elenco di restrizioni:
Note your password:
- must be between 6 and 12 characters
- must not contain spaces, special/international characters
- must not contain your user name, first name or last name
- is case-sensitive
- should contain at least 1 number and 1 letter
Riesco a capire un minimo di 6 caratteri, non consentendo parti del tuo nome, che fanno distinzione tra maiuscole e minuscole e che richiedono almeno un numero e una lettera. La parte che non ottengo limita la scelta dei caratteri che puoi utilizzare e il limite superiore.
Perché i siti Web fanno questo? L'unica cosa che posso pensare è che non conoscono le nozioni di base dell'hashing di una password, che lo proteggerebbe meglio di qualsiasi altra cosa e di eliminare qualsiasi problema di sicurezza.
Se scelgo di digitare DELETE FROM users WHERE 1=1
come password, dovrei essere autorizzato a farlo. L'hash MD5 di PHP diventa fe5d54132b51b7d65ab89b739b600b4b
che non credo danneggi nulla.