2010-06-06 5 views
1

저는 SSL을 사용하는 PHP 기반 웹 사이트를 사용하며 페이지에 액세스하기 전에 사용자가 로그인해야합니다. 다른 도메인에서이 사이트에 대한 액세스를 허용하여 기능이 동일하게 유지되지만 코드의 한 버전 만 유지해야한다는 추가 장점으로 사용자의 모양, 느낌 및 도메인 변경이 가능하도록하고 싶습니다.원격 URL 및 SSL을 사용하여 readfile() 사용

일부 읽기가 완료되면 보조 서버의 php 파일에서 기본 서버의 해당 파일로 readfile() 함수 호출을 사용하고 있습니다. 예를 들어 주 서버의 login.php는 readfile ("http://www.primarydomain.com/login.php")을 포함하는 login.php라는 파일로 보조 서버에서 액세스됩니다.

이제 문제가 있습니다 - 로그인 할 수도 없습니다! 처음 로그인 할 때 로그인 페이지가 잘 나타나지만 login user와 pwd가 입력되어 제출되면 원격 서버가 양식 처리를 트리거하고 빈 양식으로로드되는 $ _SERVER [ 'REQUEST_METHOD'] 변수를 보지 못하는 것입니다 .

어떤 생각이 잘못되었거나 구성을 변경해야 할 수도 있습니다.

감사합니다.

+0

로그인 할 때 사용하는 코드를 표시 할 수 있습니까? –

+0

[* context *] (http://www.php.net/manual/en/function.stream-context-create.php) 매개 변수를 ['readfile']에 제공하고 있습니까 (http://php.net /manual/en/function.readfile.php)? 컨텍스트를 통해 요청 vars (사용자 이름, 암호)를 전달해야합니다. 'readfile()'에 URL을 전달하면 PHP는 해당 도메인에서 실행되고 출력 만 읽혀집니다. –

답변

0

단일 PHP 파일을 만든 다음 여러 사이트에서 동일한 목적으로 사용하는 것이 좋습니다. 그러나 이러한 방식으로 파일을 사용할 수있는 방법은 호스팅 패키지의 일반 인프라에 따라 다릅니다. include() 또는 require() 기능을 사용하여

당신은 하나 개의 계정으로 영향을받는 모든 사이트의 호스팅 할 수있는 하나의 호스팅 계정을있는 경우 (이 경우 login.php에서) 공통의 파일을 호출 할 수 있어야합니다.

<?php 
require('/home/1234/public_html/common/login.php'); 
?> 

이 경우 PHP 파일의 모든 기능이 호출 페이지의 일부인 것처럼 실행됩니다.

여러 호스팅 계정/서버에 여러 사이트가있는 경우 위의 내용은 더 이상 가능하지 않습니다. readfile() 함수를 사용하면 URL을 브라우저를 통해 액세스했지만 기본 기능을 잃어버린 경우에 볼 수있는 출력을 수집 할 수 있습니다. 즉 login.php 파일을 호출 할 수없고 실제로 보조 파일에 로그인을 수행 할 수 없습니다. 대지.

실제 PHP 파일을 복사하여 보조 서버/계정에 복사해야 사용할 수 있습니다.

은 약간 어렵게 파일의 버전을 관리 할 수 ​​있지만, 그것은이 문제를 처리하는 일반적인 방법이며 그래서 당신이 영향을받는 모든 사이트에있는 파일 업데이트를 밀어 기억으로 잘 작동 하는가 수

.

+0

그 정보 주셔서 감사합니다. 보조 계좌가 동일한 호스팅 계정으로 관리되지 않습니다. 클라이언트가이 방법을 사용하여 기본 사이트에 액세스 할 수 있도록 허용하고 로그인 중에 추가 검사를 적용하여 "승인되지 않은"IP (내 고객이 아닌). 아마도 Andy의 의견에서 제안한대로 컨텍스트 변수를 사용하여 필요한 것을 수행 할 수 있습니다. 가능한지 알아보기 위해 자세히 살펴 보겠습니다. 또는 주 사이트의 코드를 "포함"하여 실행시 모든 변수를 볼 수있는 다른 방법이 있습니까? Thx – ColmF

+0

추가해야 할 사항 - 가능한 경우 클라이언트가 PHP 코드를 볼 수 없도록하려는 것이므로이 방법을 시도해보십시오. – ColmF

+0

좋은 생각이지만 비현실적입니다. 다운 타임 (전체 클라이언트 사이트가 서버에 의존하여 항상 액세스 가능) 및 효율성 감소 (이 작업이 수행되는 모든 pageloads에는 중앙 서버에 중계 된 요청의 지연이 추가됨) , 백만 가지의 다른 나쁜 부작용이 있습니다. 구입 한 코드를 실제로 제공하지 않음으로써 위반할 수있는 가능한 계약 조항을 추가하십시오. 재사용되거나 잘못 사용 된 코드에 대해 걱정한다면 PHP Obfuscation을보십시오. http://www.google.com.au/search?q=php+code+obfuscation –

관련 문제