문제

PHP에서 귀하의 웹 사이트를 누가 입력하는지 확인할 수 있습니까? 특정 웹 사이트에서 입력하는 사용자 만 허용하는 웹 응용 프로그램 (PHP로 작성)이 있습니다. 검사하여 추천 웹 사이트를 얻을 수 있습니까? _Request 물체? 그렇다면 어떻게?

도움이 되었습니까?

해결책

그렇습니다. 그러나 일부 프록시와 다른 것들이이 정보를 제거하면 쉽게 위조 할 수 있습니다. 따라서 결코 의지하지 마십시오. 예를 들어, 웹 앱이 안전하다고 생각하지 마십시오. CSRF 자신의 서버와 일치하도록 참조자를 확인하기 때문입니다.

$referringSite = $_SERVER['HTTP_REFERER']; // is that spelt wrong in PHP ?

특정 도메인에서 요청 만 허용하려면 최상위 도메인을 얻으려면 일부 URL을 구문 분석해야합니다. 내가 더 많이 배웠 듯이 이것은 PHP로 수행 할 수 있습니다. parse_url ().

처럼 앤디 의견에서 www.example.com 및 example.com도 허용해야합니다.

다른 팁

당신이 볼 수있는 동안 $_SERVER['HTTP_REFERER'] 추천 사이트를 얻으려면 농장에 베팅하지 마십시오. 브라우저는이 헤더를 설정하고 쉽게 스푸핑됩니다.

특정 추천자에서 오는 사람들 만 사이트를 보는 것이 중요하다면이 방법을 사용하지 마십시오. 컨텐츠를 보호하려면 Basic Auth와 같은 다른 방법을 찾아야합니다. 나는 당신 이이 기술을 사용해서는 안된다고 말하는 것이 아닙니다. 단지 바보가 아니라는 점을 명심하십시오.

BTW, Apache 수준에서 추천자를 차단할 수도 있습니다. mod_rewrite 사용.

당신은 추천자를 신뢰할 수 없습니다. 에서 왔음에도 불구하고 $_SERVER 배열, 실제로는 사용자/브라우저 제공 값이며 Firefox와 같은 것들을 사용하여 쉽게 가짜를 만들어냅니다. refcontrol addon.

'http_referer'키의 $ _server 배열을 검사해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top