Formato tokens fittizi

More
1 year 4 months ago #139299 by studiomiazzo
studiomiazzo created the topic: Formato tokens fittizi
Ciao, volevo sapere se è possibile determinare come i tokens fittizi vengano creati, nel caso specifico vorrei evitare caratteri speciali e limitarmi a numeri e lettere (maiuscole e minuscole) al fine di facilitare l'inserimento del token da parte dei partecipanti in fase di autenticazione. Dal backend di LS non ho trovato nulla, magari questa impostazione è presente all'interno del codice php della funzione che genera i token random...

Grazie

Please Log in to join the conversation.

More
1 year 4 months ago #139315 by studiomiazzo
studiomiazzo replied the topic: Formato tokens fittizi
Trovato! Mi autorispondo qui in modo tale che se qualcuno avesse la stessa necessità possa trovare la soluzione (o almeno la mia soluzione):

File Token.php in \application models
public static function sanitizeToken($token)
        {
            // According to Yii doc : http://www.yiiframework.com/doc/api/1.1/CSecurityManager#generateRandomString-detail
            return preg_replace('/[^0-9a-zA-Z_~]/', '', $token); 
        } 

Nella parte di codice sopra ho rimosso la stringa "_~" (i due caratteri speciali)

---

File CSecurityManager.php in \framework\base
public function generateRandomString($length,$cryptographicallyStrong=true)
	{
		if(($randomBytes=$this->generateRandomBytes($length+2,$cryptographicallyStrong))!==false)
			return strtr($this->substr(base64_encode($randomBytes),0,$length),array('+'=>'_','/'=>'~'));
		return false;
	}

ho modificato la riga return strtr($this->substr(base64_encode($randomBytes),0,$length),array('+'=>'_','/'=>'~')); con return strtoupper (strtr($this->substr(base64_encode($randomBytes),0,$length),array('+'=>'W','/'=>'B'))); dove al posto del "+" viene generata una "W" ed al posto del "/" viene generata una "B" (si possono cambiare i valori a piacere). Ho inoltre aggiunto un strtoupper() per formattare il tutto in maiuscolo.

Please Log in to join the conversation.

More
1 year 3 months ago #139443 by lfanfoni
lfanfoni replied the topic: Formato tokens fittizi
Non sono molto d'accordo a modificare il codice php. Potevi anche generarti per conto tuo dei token random con i caratteri desiderati, e poi importare la lista nella tua tabella dei token.
Comunque l'importante è aver risolto

Please Log in to join the conversation.

Start now!

Just create your account and start using Limesurvey today.

Register now
Join our Newsletter!