2017-02-05 12 views
1

현재 사과 배포 방법을 사용하여 일부 사용자가 특정 응용 프로그램을 iOS 장치에 다운로드 할 수 있습니다. 과거에는 .pla 파일에 도달하여 .ipa 파일을 도용 한 사용자가있었습니다. 그 내용을 보여주지 않고 사용자에게 plist를 제공하는 코드 샘플을 만들었습니다. Like엔터프라이즈 배포 용 사용자 지정 PHP 스크립트를 사용하려고 할 때 파일을 찾을 수 없습니다.

<?php //Sorry for ugly code, hope this is better 
$uhs = $_GET; 
$eccu = $uhs[base64_decode("id")]; 
$orr3 = base64_decode("tool"); 
$os4 = @file_get_contents($orr3 . $eccu); 
$oxCrap = $os4; 
$k  = $_SERVER; 
$ua  = $k[base64_decode("HTTP_USER_AGENT")]; 
if ($orr3 != base64_decode("tool")) { 
echo base64_decode("kys"); 
} 
$ox1233 = false; 
if (strpos($ua, base64_decode("itunesstored")) !== false) { 
$ox1233 = true; 
} 
if ($ox1233) { 
    echo $oxCrap; 
} else { 
echo base64_decode("File Guard"); 
} 
?> 

하지만 지금 당장이 파일은 내 plist 파일이있는 도구 디렉토리 밖에 있습니다. 내가 갈거야 것은 그래서 아이튠즈 뮤직 스토어-서비스와 같은 링크입니다 : // 액션 = 다운로드 매니페스트 & URL =

하지만 https://example.com/test/pshield.php?id=MYFILE.plist 사용자는 액세스가 거부 단지를 보여줄 것이다 MYFILE.plist로 이동합니다.

하지만 문제는 링크가 통과하지 못하거나 파일에 액세스 할 수 없다는 것입니다. PHP 코드에서 파일을 잘못 처리하고 있습니까? 좀 더 명확해야 할 필요가 있으면 알려주십시오.

+0

그리고 그 모든 노력이 무슨 목적으로 제공되어야합니까? – arkascha

+0

그래서'file_get_contents'는'id' GET 인자로 주어진 파일을 가져 옵니까? 귀하의 코드는 읽기가 매우 어렵습니다. 그래서 저는 추측하고 있습니다. 그러나 당신은'file_get_contents'의 오류를 억제함으로써 디버깅을 훨씬 어렵게 만듭니다. – ironchicken

답변

0

일반적으로 tool 폴더는 공용 www 폴더 외부에 있습니다. 그리고 base64_decode 전화가 잘못 배치 된 것 같습니다. 이 말을하고 싶다고 생각합니다.

$eccu = base64_decode($uhs["id"]); 
$os4 = @file_get_contents("../tool/" . $eccu); 

폴더 구분 기호에 유의하십시오. 파일이 공용 폴더 외부에 있기 때문에 사용자는 직접 공용 폴더에 액세스 할 수있는 방법이 없습니다.