2013-09-15 6 views
1

Я хочу уникальный идентификатор системы клиентов для регистрации моего приложения.Получить уникальный идентификатор системы, используя php

Мой метод (или идея):

  1. Я даю ключ (key1) к моему клиенту, когда он приобрести мое приложение

  2. После того как он устанавливает мое приложение на своем локальном сервере, я хочу чтобы подтвердить, что installation.so он хочет отправить форму

  3. после получения этой информации я хочу сохранить эту информацию и обновить его локальную базу данных. структура таблицы

    1. моей базе данных сервера 'установки': имя (пусто), электронная почта (пусто), адрес (пусто), key1, key2, unique_id (пусто), состояние (0)

      if key1 currect and status == 0, его информация с помощью unique_id сохранить в таблице установок & статус, установленный в 1 &, его локальная база данных будет обновляться с помощью key1 и key2.

      if key1 currect and status == 1 (время переустановки), то его локальная машина unique_id и таблица установок unique_id будут проверяться. если он равен, его локальная база данных будет обновляться с помощью key1 и key2.

      if not currect, его локальная база данных будет обновляться с помощью ключа1 («ключ недействителен») и key2 («ключ недействителен»).

  4. если локальные значения таблицы проверки базы данных (key1 и key2) не «ключ не действителен», то приложение будет работать.

форма Клиент:

<?php 
$unique_id = "i want unique system id here"; 
?> 
<form action="http://www.example.com/verifiy.php" method="post"> 
    <p> 
     <label>Name</label> 
     <input type="text" name="name" /> 
    </p> 
    <p> 
     <label>Email</label> 
     <input type="text" name="email" /> 
    </p> 
    <p> 
     <label>Phone</label> 
     <input type="text" name="phone" /> 
    </p> 
    <p> 
     <label>Activation key</label> 
     <input type="text" name="name" /> 
    </p> 
    <p class="hidden"> 
     <input type="text" name="unique_id" value="<?php echo $unique_id; ?>" /> 
    </p> 
    <input type="submit" /> 
</form> 

Когда клиент представить эту форму, я хочу сохранить всю информацию с уникальным идентификатором системы на моем сервере, и я дам ему ключ.

, пожалуйста, помогите мне, как я могу получить уникальный идентификатор клиентской системы? Извините за мой плохой английский. Благодарю.

+1

Что вы имеете в виду под "unique_id"? Вы его создаете или имеете в виду что-то еще? – Touch

+0

Я хочу уникальный идентификатор внутри переменной $ unique_id. –

+0

Посмотрите на http://stackoverflow.com/questions/18804079/get-the-response-from-server-in-json-format-without-using-database/18804450#18804450 и вместо 'rand()' используйте Jordan Предложение Дойла создать случайную строку. –

ответ

1

Вы можете использовать openssl_random_pseudo_bytes и bin2hex для безопасной, случайной строки.

echo bin2hex(openssl_random_pseudo_bytes(9)); 
+0

, пожалуйста, проверьте мой обновленный вопрос. –

0

Сделать использование uniqid функции в PHP.

<?php 
/* A uniqid, like: 4b3403665fea6 */ 
printf("uniqid(): %s\r\n", uniqid()); 

Вашего код ..

<?php 
$unique_id = uniqid(); // I have added it here. 
?> 
<form action="http://www.example.com/verifiy.php" method="post"> 
    <p> 
     <label>Name</label> 
     <input type="text" name="name" /> 
    </p> 
    <p> 
     <label>Email</label> 
     <input type="text" name="email" /> 
    </p> 
    <p> 
     <label>Phone</label> 
     <input type="text" name="phone" /> 
    </p> 
    <p class="hidden"> 
     <input type="text" name="unique_id" value="<?php echo $unique_id; ?>" /> 
    </p> 
    <input type="submit" /> 
</form> 
+0

Примечание: если вам может понадобиться генерировать два значения в одну и ту же микросекунду, это не будет уникальным, так как 'uniqid' основан на времени. –

+0

Ну, может быть. Но это маловероятно. –

+0

, пожалуйста, проверьте мой обновленный вопрос. –

0

Используй ниже 2 шага для создания уникальных данных о посетителе ..

  1. Использование $ _SERVER [ 'REMOTE_ADDR'] даст вам IP-адрес пользователя, просматривающего эту страницу.

  2. Используйте API-интерфейс HTML5 Geolocation для определения местоположения пользователя.

Создать уникальный идентификатор, основанный на выше 2 DATAS

<script> 
    var x=document.getElementById("demo"); 
    function getLocation() 
    { 
    if (navigator.geolocation) 
     { 
     navigator.geolocation.getCurrentPosition(showPosition); 
     } 
    else{x.innerHTML="Geolocation is not supported by this browser.";} 
    } 
    function showPosition(position) 
    { 
    //Get latitude & longitude from position 
    x.innerHTML="Latitude: " + position.coords.latitude + 
    "<br>Longitude: " + position.coords.longitude; 
    } 
    </script> 
+0

Я мало знаю о геолокации, но вот несколько вопросов. Что делать, если я нахожусь в университетском городке и использую их компьютеры. Не будет ли мой IP-адрес похожим на сотни других людей (студентов). И не требует ли геолокация у пользователя разрешения? Что, если я это отрицаю. Будет ли у меня «unique_id»? Предположим, я принял предмет геолокации, если другие сто согласятся, не будем ли мы иметь тот же «unique_id»? – Touch

+0

Другой способ - сохранить файл cookie в системе клиента и сохранить уникальный идентификатор в cookie. Когда клиент откроет вашу веб-страницу, попробуйте аутентифицировать, используя значение, хранящееся в файле cookie. Но проблема с этим подходом заключается в том, что если клиент удаляет cookie. –

Смежные вопросы