2017-01-04 4 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 사실, 이미했는데 그 중 아무도 그러한 병합 및 암호화 기술을 제공하지 않습니다. 그래서, 나는 관습을 창조하는 것이 좋을 것이라고 생각했습니다. –

답변

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

고마워, 좋아 보인다. 나는 코드의 첫 부분 인, 그것이 어디로 가는가를 이해하지 못한다. –