Активация по ключу

Discussion in 'PHP' started by Cyber_Cat, 2 Oct 2016.

  1. Cyber_Cat

    Cyber_Cat New Member

    Joined:
    1 Dec 2013
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    Здравствуйте, нужно написать скриптик.
    Вообщем так, например ввожу ключ в поле, и если ключ верный выполнить определенную процедуру.
    Ключ брать из базы данных MySQL.

    Спасибо заранее.
     
  2. totenkopf

    totenkopf Elder - Старейшина

    Joined:
    19 Jul 2010
    Messages:
    92
    Likes Received:
    64
    Reputations:
    19
    Code:
    <?php
    $db_server = "mysqlserver.com";
    $db_user = "Cyber_Cat";
    $db_pass = "swordfish";
    $db_name = "database_cybercat";
    
    if(isset($_POST[key])){
    
    $sql = mysql_connect( $db_server, $db_user, $db_pass) or die('Could not connect to server.' );
    mysql_select_db($db_name, $sql) or die('Could not select database.');
    
    $query = "SELECT 1 FROM `keys` WHERE key_hash = '".md5($_POST[key])."' LIMIT 1";
    $result = mysql_query($query);
    $num_rows = mysql_num_rows($result);
    
    if($num_rows){
    //Здесь секретные действия при правильном ключе
    echo "Доступ разрешен";
    exit(0);
    }
    else {
    //Неверный пароль
    echo "Неверный ключ!";
    exit(1);
    }
    
    }
    ?>
    <form method=post>
    Введите ключ: <input type="text" name="key"><br>
    <input type="submit" value="войти">
    </form>
    
    Код не проверял.
    Фильтруй на иньекции.
    В таблице database_cybercat.keys в поле key_hash хранится md5 хеш ключа
     
    Cyber_Cat likes this.
  3. Cyber_Cat

    Cyber_Cat New Member

    Joined:
    1 Dec 2013
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    Спасибо за помощь, но к сожалению не работает :(:(:(
     
  4. totenkopf

    totenkopf Elder - Старейшина

    Joined:
    19 Jul 2010
    Messages:
    92
    Likes Received:
    64
    Reputations:
    19
    Поставил денвер не поленился. Проверил. Все работает.
    Что-то видимо не так делаешь.

    base.sql
    Code:
    #Ключ "12345"
    
    USE `database_cybercat`;
    
    DROP TABLE IF EXISTS `keys`;
    CREATE TABLE `keys` (
    `key_hash` longtext NOT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    INSERT INTO `keys` (`key_hash`) VALUES ('827ccb0eea8a706c4c34a16891f84e7b');
    
     
    #4 totenkopf, 3 Oct 2016
    Last edited: 3 Oct 2016
    Cyber_Cat likes this.
  5. Cyber_Cat

    Cyber_Cat New Member

    Joined:
    1 Dec 2013
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    Видимо с SQL что-то реально не то делал.
    Сейчас все работает, спасибо большое )