Не удается найти файл при попытке использовать пользовательский сценарий php для корпоративного распространения
В настоящее время я использую метод корпоративного распространения яблок, чтобы позволить некоторым пользователям загружать определенные приложения на свои устройства iOS. В прошлом у меня были пользователи, которые украли файл.ipa, просто зайдя в мой файл.plist. Я создал пример кода, чтобы предоставить пользователю этот список, не показывая его содержимое. Вот так
<?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-services://? Action = download-manifest & url = https://example.com/test/pshield.php?id=MYFILE.plist
но если пользователь перейдет к списку MYFILE.plist, он просто покажет запрещенный доступ.
Но проблема в том, что ссылка не проходит или просто не может получить доступ к файлу. Я неправильно подаю файл в коде php? Пожалуйста, дайте мне знать, если мне нужно быть более ясным.
1 ответ
Обычно вы хотите tool
папка вне публичной www-папки. И ваш base64_decode
звонки кажутся неуместными. Я думаю, что вы хотели сказать это:
$eccu = base64_decode($uhs["id"]);
$os4 = @file_get_contents("../tool/" . $eccu);
Обратите внимание на разделители папок. Поскольку файл находится за пределами общедоступной папки, у пользователя нет прямого доступа к нему.