Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

217
Views
Busque la cadena Base64 en la tabla MySQL usando PHP

Hice esta pregunta ayer, pero no obtuve una respuesta y la pregunta se marcó como duplicada, que no lo es.

Cambié el nombre de la columna "clave" a "lic_key" y el nombre de la tabla "claves" a "license_keys" porque entiendo que están reservados por MySQL.

Este es mi código PHP:

 <?php require 'config.inc.php'; /* Connect to database and grab the keys */ @mysql_connect($g_mysql_host,$g_mysql_usr,$g_mysql_pass) or die("Couldn't connect to database server"); @mysql_selectdb($g_mysql_db) or die("Couldn't select database"); $key = mysql_real_escape_string($_GET["key"]); $query = "SELECT * FROM `license_keys` WHERE `lic_key` = '$key'"; $result = mysql_query($query); if ($result == "") exit("INVALID KEY"); else { while ($row = mysql_fetch_array($result,MYSQL_ASSOC)) { echo $row['id']; } } ?>

Esto funciona solo si la clave NO contiene el carácter "+" y genera el "id" específico para la "license_key" buscada. Si la clave contiene "+" o no se encuentra, la página permanece en blanco (que es otro problema que tengo, porque la secuencia de comandos debería generar "CLAVE NO VÁLIDA").

Las cadenas de claves se cifran mediante AES128 en Base64. Otras teclas tienen el carácter "+", otras no.

Dentro de poco,

 kQcYqzQlsr4/MXJ1ySw7jQ== -- works. CKVcua+aWlnK5qfKwcm6wA== -- does not work.

Este script es solo para uso personal, por lo que no me asusta la inyección de SQL.

Gracias.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Gracias a @Barmar por aclarar el problema con el caracter "+" en la URL. Para solucionar el problema con la página en blanco si la clave es incorrecta, edité

 if ($result == "") exit("INVALID KEY");

con

 if (mysql_num_rows($result)==0) exit("INVALID KEY");

y ahora funciona.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!