2017-01-04 16 views
0

私は3が割り当てidと199はどちらも二つのモデルを表し要するに、査定IDを表しhttp://localhost:8000/assessment/3/199マージURLパラメータと暗号化されたURLを生成 - Laravel 5.3

のようなURLを持っています。

私はこのようなURLをメールで送信しています。最初にURLを暗号化してから電子メールに送信します。

私はそうhttp://localhost:8000/assessment/ {いくつかの長いランダム文字列}

のようなURL、私は、パラメータの両方をマージ暗号化された文字列を作り、電子メールに送信したい、URLにアクセスすると、それを解読し、両方を取得したいです実際のパラメータ

私はそれを実装するためにLaravelを使用するソリューションを希望します。 は、これらを使用している可能性:

https://laravel.com/docs/5.3/encryption

https://laravel.com/docs/5.3/hashing

+0

質問する前にこれを行うパッケージを検索してください。 – Kyslik

+0

@Kyslik実際には、すでに行っていますが、そのようなマージと暗号化のテクニックはありません。だから、私はカスタム1を作ることが良いと思った。 –

答えて

0

私はこれに取り組むような方法は、手動コントローラでそれを実装することです。もちろん

public function decrypt($ciphertext){ 

    $params = json_decode(decrypt($ciphertext)); 
    return $this->getAssessment($params['assessment'], $params['assessor']); 

} 

は、あなたがより多くの整合性チェックといくつかのエラーが必要になります。コントローラで

Route::get('/assessment/{ciphertext}', '[email protected]'); 

$url = URL::action('[email protected]', json_encode([ 
    'assessment' => $assessment_id, 
    'assessor' => $assessor_id 
]); 
//now, use $url in your email 

のようなルートを作成します。このようなURLを生成します あなたはおそらく考えを得るでしょう。

+0

ありがとう、よく見えます。私はちょうどコードの最初の部分、それはどこに行くの1つのことを理解していないのですか? –

関連する問題