2014-04-30 3 views
1

다음 URL에서 양식 제출을 차단하려면 어떻게해야합니까?특정 URL에서 양식 제출을 제한하는 방법 - Laravel

http://laravel.dev/iframe/123 

URL을 동적으로 생성하고 우리는 양식 제출을 차단하기 위해 해당 페이지에 자바 스크립트를 (단지 사용자의 생성 JS가있을 것이다) 사용하지 않습니다.

입력을 받아들이는 경로를 보호해야합니다.

  1. 가입 사용자 (@ usersController의 저장소)
  2. 또는 수용성 형태의 다른 경로 예를 들어.

은 어떤 방식 으로든 특정 경로를 필터링하여 Laravel에서 양식 제출을 방지 할 수 있습니까?

laravel이 특정 URL에서 양식 제출을 무시하도록 말하는 방법은 무엇입니까?

+1

당신이 사용 사례에 대한 좀 더 많은 정보를 제공 할 수? 에서와 마찬가지로 어떤 이유로 URL을 차단합니까? – ollieread

+0

나는 codepen, jsfiddle와 같은 응용 프로그램을 개발 중입니다. 미리보기를 생성하려면 출력을 생성 할 페이지를 링크해야합니다. js를 사용하여 출력을 생성하려고 시도했지만 브라우저가 친숙하지 않습니다. Iframe에서 Firefox는 페이지로드 중에 사용자 상호 작용없이 외부 CSS 또는 JS 파일을로드하지 않는 IE 일 수 있습니다. 그러나 크롬과 사파리에서 잘 작동합니다. – Anam

답변

1

이것은 당신이 찾고있는 무엇을 할 수

$referer = Request::header('referer'); 
$restrictedList = Config::get('app.restricted'); // obviously change this to pull from your source 

if(in_array($referer, $restrictedList)) 
    App::abort(403, 'Unauthorized'); 
+0

멋진 생각. 나는 이것을 시도 할 것이다. 이 코드를 삽입하는 가장 좋은 장소는 무엇입니까? 나는 모든 경로를 확인하고 싶지는 않다. 감사. – Anam

+0

한 가지 문제. 'http : // laravel.dev/iframe/123'은 동적입니다. URL은 다음과 같습니다. 'http : // laravel.dev/iframe/xyz', http : // laravel.dev/iframe/9833sa. 그래서 전체 URL을 아는 것은 불가능합니다. URL에서 경로 이름을 얻는 방법은 무엇입니까? – Anam

+0

이것을 처리 할 컨트롤러 액션에이 코드를 배치했습니다. 여러 제어기에 걸쳐있는 경우 필터를 작성하고 라우트에서 'before'속성을 사용하여 필터를 실행하십시오. 현재 경로 이름을 얻는 방법은 Route :: currentRouteName() 또는 Route :: getCurrentRoute() -> getPath()를 사용하십시오. – CashIsClay

관련 문제