2012-03-27 3 views
-2

안녕하세요 저는 asp.net뿐만 아니라 php.Actualy에서 URL을 감지의 일부 상황에 직면 오전 내 asp.net 페이지에서 PHP URL을 사용하고 있습니다. 예를 들어. 나는 도메인을 사용하고 있습니다. likePHP에서 들어오는 URL을 감지

www.smlsml.com.pk이 도메인 안에 내가 asp.net 페이지를 사용하고 asp.net 페이지에서 나는 www.phpurl.com.Problem 같은 php url을 호출하고있다. 나는 PHP를 보호하고 싶다. url 이것은 www.smlsml.com.pk에서 호출하는 동안입니다. 즉, asp.net 페이지에서 php url을 호출하면 php url이 www.smlsml.com.pk에서 호출되는 동안 php url이 첵을해야합니다. 그것은 www.smlsml.com.pk를 제외하고 직접 열리면 열려있을 것입니다. Myasp.aspx 페이지로 리디렉션해야합니다. iframe을 사용하고 src는 php url이므로 aspx 페이지는 인증에 필요합니다. .만약에 어떠한 하나는 내 아이디어를 이해하고 나중 PHP 나 asp.net에서 할 수 있도록 도와주세요. 왜냐하면 나는 PHP에 익숙하지 않고 asp.net에서 PHP 페이지를 보호하는 방법을 알지 못합니다. 어느 한 도움이나 더 나은 아이디어가 있다면 이보다 다음 미리 와요 고마워요로 공유하십시오

업데이트

$adeel = array("http://a.sml.com.pk","http://a.sml.com.pk"); 
if(!in_array($_SERVER['SERVER_NAME'],$adeel)){ 
echo "Outer"; 
} 
else{ 
echo "inner"; 
} 

답변

1

나는 당신이 PHP 스크립트가 호출 된 URL 즉, HTTP 요청의 참조 자 확인에 대한 이야기 ​​생각 에서.

이 URL은 비록 PHP-환경 변수 $_SERVER['HTTP_REFERER']

그러나 한 주에이이 참조 자 쉽게 위조 또는 생략 할 수있는 큰 보안 구멍이다. 따라서 요청에 따라 확인할 수있는 보안 토큰을 더 잘 전달할 수 있습니다 (그러나 동일한 세션을 사용할 수는 없습니다). 당신은 그럼에도 불구하고 $_SERVER['HTTP_REFERER']를 사용하려면

Persist Session from ASP.NET to PHP


, 당신은 도메인이 아닌 전체를 확인 할 수 있습니다 : 여기

는 PHP로 ASP에서 세션 토큰을 전달에 대한 또 다른 질문입니다 URI. 도메인 이름을 분리하는 것이 가장 좋습니다.

$referrerDomain = parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST); 

하고 in_array() 기능에 그것을 사용

$adeel = array("a.sml.com.pk", "b.sml.com.pk"); 
    if (! in_array(referrerDomain, $adeel)){ 
     echo "Outer"; 
    } 
    else { 
     echo "inner"; 
    } 
+0

선생님 나는 업데이트에 대한로 PHP 페이지에서 위의 코드를 사용하지만,이 일을하지 않는 것도 유는 또는이 –

+0

의 모든 수정 첵하시기 바랍니다 것입니다 선생님 내 업데이트를 참조하십시오 –

+0

이 스크립트가 실제로 실행되고있는 서버의 이름을 포함하는'$ _SERVER [ 'SERVER_NAME']'을 사용하고 있지만'$ _SERVER [ 'HTTP_REFERER']'를 사용해야합니다.). 그러나 $ _SERVER [ 'HTTP_REFERER']'는 완전한 URI를 가지고 있으므로 확인을 위해 도메인 이름 다음에 오는 모든 것을 잘라야합니다. – acme

관련 문제