Foros del Web » Programando para Internet » PHP »

Cual es la mejor formar de crear un Token

Estas en el tema de Cual es la mejor formar de crear un Token en el foro de PHP en Foros del Web. Hola, pues tengo una duda sobre cual es la forma mas segura de generar un token, y cual es la mejor forma de almacenar ese ...
  #1 (permalink)  
Antiguo 21/09/2015, 14:12
 
Fecha de Ingreso: diciembre-2012
Ubicación: Murcia
Mensajes: 329
Antigüedad: 12 años
Puntos: 4
Cual es la mejor formar de crear un Token

Hola, pues tengo una duda sobre cual es la forma mas segura de generar un token,
y cual es la mejor forma de almacenar ese token he visto que algunos lo hacen por SESSION y otros por SQL,
  #2 (permalink)  
Antiguo 21/09/2015, 16:03
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 8 meses
Puntos: 2534
Respuesta: Cual es la mejor formar de crear un Token

¿Almacenar?

Pues depende mucho: las sesiones son volátiles y las bases de datos persistentes.

¿Exactamente cual es tu necesidad?

Eso definirá cual de las dos es más adecuada.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 21/09/2015, 17:55
 
Fecha de Ingreso: diciembre-2012
Ubicación: Murcia
Mensajes: 329
Antigüedad: 12 años
Puntos: 4
Respuesta: Cual es la mejor formar de crear un Token

Me habre explicado mal. Hay algunos sistemas que el token ge erado es guardado en una tabla. Y otros que lo hace creando una session con ese token.

Mi pregunta es esa cual de esas 2 formas es mas recomendada.

Actualmente estoy terminando de crear un panel tipo whmcs.

Y que manera de generar ese token es mas seguro. Sha1 md5 o el propio crypt

Omita faltas de escritura escrito desde el movil.
G
Saludos.
  #4 (permalink)  
Antiguo 23/09/2015, 09:04
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años, 7 meses
Puntos: 320
Respuesta: Cual es la mejor formar de crear un Token

Código PHP:
Ver original
  1. <?php
  2.  /*/
  3.   * Crea tokens seguros de 10 caracteres.
  4.  /*/
  5.  class Token {
  6.      /*/
  7.       * Un token de 10 caracteres unico y constante
  8.       * para cada instalacion del sistema que hagas.
  9.      /*/
  10.      const SERVER_TOKEN = "827ccb0eea";
  11.  
  12.      /*/
  13.       * Genera un token de 10 caracteres.
  14.      /*/
  15.      public static function make() {
  16.  
  17.          if(function_exists("random_bytes"))
  18.              // PHP >= 7
  19.              $token = bin2hex(random_bytes(5));
  20.  
  21.          elseif(function_exists("openssl_random_pseudo_bytes"))
  22.              // OpenSSL disponible
  23.              {
  24.                  $strong = true;
  25.                  $token = bin2hex(openssl_random_pseudo_bytes(5, $strong));
  26.                  if(!$strong)
  27.                      $token = substr(md5(rand(0, 999).$token.rand(0, 999)), rand(0, 21), 10);
  28.              }
  29.  
  30.          elseif(function_exists("hash"))
  31.              // PECL Hash disponible
  32.              $token = substr(hash("sha512", uniqid("", true)), rand(0, 117), 10);
  33.  
  34.          else
  35.              // Si no hay nada mejor disponible...
  36.              $token = substr(md5(rand(0, 999).uniqid("", true).rand(0, 999)), rand(0, 21), 10);
  37.  
  38.          return substr(md5(self::SERVER_TOKEN.$token), rand(0, 21), 10);
  39.      }
  40.  }
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios

Etiquetas: formar, sql, token
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:58.