서버 측 포함
답변
PHP에서이를 수행하기 위해 file_get_contents() 또는 fopen()과 같은 작업을 수행 할 수 있습니다 (예 :
<?php
echo file_get_contents('http://www.example.com/include');
?>
도메인 외부에서 데이터를 가져 오려면 cURL을 사용하십시오. 수신 한 데이터를 실행하려면 eval()
으로 이동하십시오. 그러나 이것이 페이지의 '출력'을 얻게 될지 미리주의하십시오. 의미는 '.php'페이지와 같이 실행 된 페이지라면 처리 된 결과로 나오는 데이터를 얻게됩니다.
file_get_contents()
마찬가지입니다
<?php
// create a new cURL resource
$ch = curl_init();
// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);
// grab URL and pass it to the browser
curl_exec($ch);
// close cURL resource, and free up system resources
curl_close($ch);
?>
및 fopen()
이 파일의 '실제'내용을 잡아 원하는 경우, 다른 서버에 종류의 프록시를 설정하려는 것이다. 서버 측 스크립트가 어떻게 작동하는지에 대한 보안 결함이 될 수 있기 때문에 서버에서이 작업을 수행 할 수 없습니다. 당신이 요청하는 모든 파일의 내용을 줄 것이다
<?php
// Read the requested file out
readfile($_GET['file']);
은 : 다른 사람이 그것을 발견하면
http://test.com/handler.php?file=handler.php
그러나, 그것은 위험 할 수 있습니다. 당신은 서버 소프트웨어를 언급하지 않는하지만 SSI가 mod_include 모듈에 의해 제공되는 아파치를 가정합니다
<!--# include virtual="http://www.stackoverflow.com/" -->
예,의 nginx의 서버 사이드는 전체 URL의 예를 사용할 수 있습니다 포함되어 있습니다. 에 요소가 포함되어있어 원격 파일을 허용하지 않습니다. 그러나 exec을 사용하면 외부 도구를 실행할 수 있습니다. 이 번호를 사용하여 wget 또는 원하는 다른 명령을 호출 할 수 있습니다.
그러나 복잡하지는 않습니다. 로컬 시스템에 원격 디렉토리를 마운트 할 수있는 경우 일반 심볼릭 링크를 만들고 을 사용하여을 포함 할 수 있습니다.
또는 이미 제안했듯이 PHP는 사용하기가 정말 쉽습니다.
:
드라이브에있는 폴더 외부에있는 txt 파일의 정보에 액세스하려고합니다. 사람들이 해당 파일에 정보를 업로드 할 수 있고 사이트가 없어도 웹 사이트에 표시 될 수 있습니다. –
와우, 내가 looooong 시간 이후 SSI에 대해 듣지 않았다 ... –