2017-02-05 1 views
1

В настоящее время я использую метод распределения яблок на предприятиях, чтобы позволить некоторым пользователям загружать определенные приложения на свои устройства iOS. Раньше у меня были пользователи, которые украли файл .ipa, просто добравшись до моего .plist-файла. Я создал образец кода для обслуживания plist для пользователя, не показывая его содержимое. Вроде такНевозможно найти файл при попытке использовать собственный скрипт 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"); 
} 
?> 

Но прямо сейчас у меня есть этот файл php вне каталога инструментов, в котором есть мои файлы plist. То, что я за это ссылка, как так ITMS-сервисов: // действие = скачать-манифеста & 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); 

Обратите внимание на разделители папок. Поскольку файл находится за пределами общей папки, пользователь не имеет прямого доступа к нему.