Hvilke tegn som kan benyttes i brukernavn

Generelle spørsmål vedrørende Joomla

Moderators: sone12, Per Yngve Berg

Locked
rocky222
Joomla! Apprentice
Joomla! Apprentice
Posts: 9
Joined: Fri Sep 16, 2005 6:08 pm

Hvilke tegn som kan benyttes i brukernavn

Post by rocky222 » Mon Oct 31, 2005 12:37 pm

Jeg migrerte nesten 5000 brukere over til Joomla-plattformen, noe som gikk forbausende lett med litt googling på insert og select statements for MySql. Men nå har jeg fått et problem som jeg håper noen kan hjelpe meg med.

En god del av brukerne mine har spesielle tegn i brukernavnene sine, som feks bindestrek, mellomrom, utropstegn, etc. Disse får ikke oppdatert profilene sine da de får beskjed om at brukernavnet deres er ugyldig. Jeg kjører community builder også forresten.

Spørsmålet mitt er derfor hvor man setter premissene for hva som er gyldig og ikke av tegn i brukernavn. Fått forståelse for at CB bruker Joomla sine innstillinger for dette og ingen der ser ut til å kunne hjelpe meg.

Jeg foretrekker svar på norsk og ikke php  :P. Er ingen racer når det gjelder programmering...

User avatar
jenscski
Joomla! Ace
Joomla! Ace
Posts: 1465
Joined: Thu Aug 18, 2005 6:58 am
Location: Tønsberg, Norway

Re: Hvilke tegn som kan benyttes i brukernavn

Post by jenscski » Mon Oct 31, 2005 12:53 pm

Spørsmålet mitt er derfor hvor man setter premissene for hva som er gyldig og ikke av tegn i brukernavn. Fått forståelse for at CB bruker Joomla sine innstillinger for dette og ingen der ser ut til å kunne hjelpe meg.
Det jeg har funnet ut ved en titt på koden til Joomla er et følgende tegn ikke er lov i et brukernavn:
"'%;()&+-
og brukernavnet må være lengre enn to tegn.

Dette er desverre hardkodet inn i Joomla, og kan ikke endres uten nok en endring av en php-fil.

Koden det er snakk om er denne, og finnes i includes/joomla.php linje 2080

Code: Select all

if (eregi( "[\<|\>|\"|\'|\%|\;|\(|\)|\&|\+|\-]", $this->username) || strlen( $this->username ) < 3) {
  $this->_error = sprintf( _VALID_AZ09, _PROMPT_UNAME, 2 );
  return false;
}
Jens-Christian Skibakk
MMS Blog - http://mms.pipp.no/
Joomla! i Norge / Joomla! in Norway - http://www.joomlainorge.no/

rocky222
Joomla! Apprentice
Joomla! Apprentice
Posts: 9
Joined: Fri Sep 16, 2005 6:08 pm

Re: Hvilke tegn som kan benyttes i brukernavn

Post by rocky222 » Mon Oct 31, 2005 3:21 pm

OK, da prøver jeg det! Ser faktisk ut til at mellomrom i brukernavn funker likevel. Det er visst bare bindestrek som ikke funker.

Det som er litt rart er at feilmeldingen jeg får opp når jeg forsøker å endre profilen til en bruker med bindestrek sier at hverken mellomrom elller mindre enn 6 tegn tolereres. Vet ikke hvor den får 6 tegn fra. Sjekket koden fra includes/joomla.php linje 2080 og den er identisk med den du limte inn. Som sagt ingen racer på php, men for meg ser det ut som om begrensningen på antall tegn i brukernavn er minimum 3 tegn. Ikke 6. Dessuten har jeg altså ingen problemer med mellomrom. Sprøtt!

Skal prøve å oppdatere denne koden når jeg kommer hjem. Filen må selvfølgelig chown'es... Jævla rettighetsmas  >:(

Tusen takk for hjelpen!

User avatar
august
Joomla! Explorer
Joomla! Explorer
Posts: 332
Joined: Thu Aug 18, 2005 7:00 pm
Location: Olso, Norway
Contact:

Re: Hvilke tegn som kan benyttes i brukernavn

Post by august » Tue Nov 01, 2005 2:01 am

Du skal bare være glad for rettighetsmaset, det gjør hackere til en bagatell. Brukervennlighet og sikkerhet er på hver sin ende av skalaen, og man må ofre av det ene for å få det andre.

Forklaring av [\|\"|\'|\%|\;|\(|\)|\&|\+|\-]

[ og ] rammer inn alle tegnene som ikke er lov. | skiller de ulike tegnene fra hverandre. \ er for å vise at dette er et tegn, og ikke en php-kode-ting. U see?
August Lilleaas
http://august.lilleaas.net.
<3

rocky222
Joomla! Apprentice
Joomla! Apprentice
Posts: 9
Joined: Fri Sep 16, 2005 6:08 pm

Re: Hvilke tegn som kan benyttes i brukernavn

Post by rocky222 » Tue Nov 01, 2005 11:02 am

Oh, I see...  ;) Tusen takk for foredraget om brukervennlighet og sikkerhet også!  :laugh:

Skulle alikevel vise seg å være comprofiler som var synderen. De som faktisk har utviklet komponenten kunne ikke svare, men etter å ha gått gjennom koden fant jeg problemet.

For de som er interesserte ligger dette i linje 1403 (eller i nærheten...) av admin.comprofiler.html.php. Samme oppbygning som i joomla.php. Disse må begge reflektere hvilke tegn man ønsker å ugyldiggjøre.


Locked

Return to “Generelt”