2010-12-15 3 views
1

내가 원한다. 나는 3 개의 PHP 파일을 가지고 있는데, 하나는 a.php, b.php, c.php이다. a.php에 b.php에 대한 링크가있는 경우 href 태그를 사용하거나 by는 양식 작업으로 b.php를 사용합니다. b.php는 누가 그것을 호출하고있는 a.php인지 어떻게 알 수 있습니까? c.php도 b.php에 링크되어 있습니다. 하지만 b.php를 사용하는 a.php가 아닌 경우 페이지를 다른 것으로 리디렉션하고 싶습니다.PHP 파일을 호출하는 파일을 알 수있는 방법

내가 b.php이 같은 것을 생각하고는, 난 그냥 실제의 PHP 코드에서 작업을 수행하는 방법을 잘 모르겠어요 :

<?php 

if(called_by('a.php')){ 
echo "something"; 
} 
else{ 
header('location:a.php'); 
} 

?> 

답변

3

$_SERVER['HTTP_REFERER']은 사용자가 온 URL을 포함하고있다.

위조하기 쉽도록 사용자 브라우저에서 전송하므로주의해야합니다. 안전하지 않습니다. 또한 일부 브라우저는 빈 시간이 될 수 있도록 해당 헤더를 보내지 않을 수 있습니다.

또 다른 가능성은 같은 페이지에 플래그를 세션을 사용하고 설정하는 것입니다 :

$_SESSION['come_from'] = 'a'; 

세션 솔루션은 더 안전 할 것이다.

1

올바르게 이해하고있는 경우 을 얻으려는 것 같습니다.이 경우 $_SERVER['HTTP_REFERER'] 변수를 살펴 봐야합니다.

1

$_SERVER['HTTP_REFERER']?

편집 : 추측 누군가가 나를 때리면

관련 문제