PHP와 Javascript를 사용하여 작은 파일 찾아보기 스크립트를 만들고 있는데 작은 문제가 있습니다. 현재 디렉터리는 기지에있을 때 index.php?dir=/projects/jphp
이라는 URL에 GET으로 저장됩니다. 그때 사용 variabe $scandir
이 저장 주 : fiels이 표에 나와있는대로 사용자들이 thorugh 볼 수 있도록은밀한 ../ 실제 디렉토리에 PHP
$scandir = $_GET['dir'];
, 폴더는 다음과 같이 하이퍼 링크됩니다
는<td><a style="color: red;" href="edit.php?pid=<?php echo $project['id'] ?>&dir=<?php echo $scandir . "/" . $thisfile; ?>"><?php echo $thisfile; ?></a></td>
변수 $thisfile
이 채워집니다 디렉토리의 모든 파일을 통과하는 foreach()
루프를 사용합니다.
projects/jphp/js/../js/../../../projects/jphp
이 유지 할 수있는 방법이 같은
사용자는 폴더와 파일을 검색하기 시작으로 는 파일 주소는 그래서, 예를 들어, 파일을 검색하는 분 후 $_GET['dir'];
지저분한 보이는됩니다 경로로 간단한 경로는 위에있는 동일한 당신이 바닥에 상단을 은밀한 방법을 알고 있다면, 그것은 좋은 것
projects/jphp
로, 감사합니다! 나는이 사실을 잘 설명하지 못했을 수도 있습니다.
당신이 [RFI]의 의미를 이해해야합니다 (http://de.wikipedia.org/wiki/Remote_File_Inclusion 원격 파일 인 클루 전) – knittl
그래, 나는 동적으로/보안 함의를 고려한 사용자 입력으로하는 것이 좋습니다. – Kzqai
개인적으로 해킹 된 로컬 앱은 문제가 될 수있는 가능성이 있습니다. '로컬 네트워크에서 여기에 액세스하는 것이 좋지만 다른 사용자와 마찬가지로 항상 인터넷에 공개 될 수 있기 때문입니다. 집이나 도로에서 접근하는 것 "등이 있습니다. 그러나 당신이 위험성을 알고있는 한. – Kzqai