Możesz personalizować ten link.

    {EMAIL} zostanie zamieniony na adres e-mail użytkownika.

    {ID} zostanie zamieniony na numer ID użytkownika.

    {TIME} zostanie zamieniony na aktualny czas w formie unixowej.

    {MD5:dowolnytekst} zostanie zastąpiony na skrót MD5 wyliczony funkcją <?php md5(‘dowolnytekst’); ?>.

    {SHA256:dowolnytekst} zostanie zastąpiony na skrót SHA-2 (256 bit) wyliczony funkcją <?php hash(‘sha256′,’dowolnytekst’); ?>.

Link zostanie spersonalizowany w takiej kolejności, jak powyżej. Można więc łączyć te funkcje.

PRZYKŁAD:

http://twojadomena.pl/api.php?time={TIME}&key={SHA256:543rwefedwfs{EMAIL}{TIME}}

Jeśli adres e-mail użytkownika to joedoe@gmail.com a znacznik czasu to 1326739770 otrzymamy:

http://twojadomena.pl/api.php?time=1326739770&key=9588199d4f172d4f191ec37f4fb0a21feb86fe1a5a7b839d5288a1c97872c54a

Zmienna key (klucz) zostanie wyliczony za pomocą 256 bitowego skrótu, którego nie da się złamać.
MD5 to popularna alternatywa, ale nie tak bezpieczna.

Teraz możemy sprawdzić, czy połączenie do skryptu api.php jest prawidłowe:

<?php

$check_key = hash('sha256', '543rwefedwfs'.$_POST['email'].$_GET['time']);

if ($check_key != $_GET[key]) {
	die('Zly klucz');
}

// if timestamp was made more than 1 hour ago
// or in future ;-) something is wrong
if ($_GET['time'] < time()-1*3600 || $_GET['time'] > time()) {
	die('Zly znacznik czasu. Znacznik w linku: '.$_GET['time'].', znacznik serwera '.time());
}

?>

WAŻNE: Jeśli chcesz weryfikować linki za pomocą znacznika czasu, zwróć uwagę na ewentualną różnicę czasu serwera Ekademii i Twojego serwera.