1. Go to this page and download the library: Download sam-it/yii2-urlsigner library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
sam-it / yii2-urlsigner example snippets
class RequestResetAction {
public function run(
UrlSigner $urlSigner,
int $id,
string $email
) {
$user = User::find()->andWhere([
'id' => $id,
'email' => $email
]);
$route = [
'/user/do-reset',
'id' => $user->id,
'crc' => crc32($user->password_hash),
];
/**
* Sign the params.
* 1st param is passed by reference, the component adds the params needed for HMAC.
* 2nd param indicates that the params must match exactly, the user cannot add another param.
* 3rd param sets the expiration to 1 hour
**/
$urlSigner->signParams($route, false, (new DateTime())->add(new DateInterval('PT1H')));
$user->sendPasswordReset($route);
}
}
class DoResetAction {
public function behaviors()
{
return [
'hmacFilter' => [
'class' => HmacFilter::class,
'signer' => $this->controller->module->get('urlSigner'),
];
}
public function run(
int $id
) {
// Here we can trust that the user got here through the link that we sent.
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.