Андрей
Высший разум
(425919)
7 лет назад
У тебя ошибочна логика проверки условий.
Проверка авторизации производится только тогда, когда в запросе есть параметр balance. Достаточно его опустить и кто угодно залезет в систему с правами админа.
Если balance нет, но $payeer->isAuth() возвращает false - опять получаем полный доступ.
И да, eval - это даже не дыра, а полное отсутствие какой-либо безопасности.
Дон Дигидон
Оракул
(51651)
7 лет назад
Однозначного ответа на этот вопрос нет. Если планируется поездка в страну, которая пользуется большим спросом у наших соотечественников, то на таком направлении работают сразу несколько наших крупных туроператоров, а потому, в силу высокой конкуренции, они предлагают цены, конкурировать с которыми частному лицу (при самостоятельном заказе гостиниц, билетов и т. д. ) весьма затруднительно, а порой и невозможно. Например, при самостоятельной поездке в такую страну, как Египет, один только билет на самолет при самостоятельной покупке обойдется во столько же, во сколько готовый недельный тур во вполне приличный отель, купленный у туроператора.
Самостоятельно покупать всё и вся имеет смысл в двух случаях:
1. Вы хотите посетить страну, в которую россияне пока ездят не часто, а потому и цены у туроператоров на неё высоки.
2. Вы хотите реализовать свою собственную программу пребывания в стране, отличную от той, которую предлагают туроператоры. Например, в Грецию наши соотечественники валом валят и туроператоров по Греции - как грязи, но если Вы хотите поехать, скажем, на какой-то греческий остров, который мало известен нашим туристам, то будет гораздо дешевле поехать самостоятельно, нежели заказывать индивидуальный тур у туроператора.
Возможен и промежуточный вариант, когда, например, у туроператора Вы заказываете только перелёт в нужную Вам страну и/или отель, а дальше сами отдыхаете на месте как хотите, по своей собственной программе. Такой вариант, если Вы едете в уже освоенную нашими туристами страну, обойдется в большщинстве случаев дешевле, чем при самостоятельной покупке того же самого отеля и билетов на самолет.
Так что всё завистит от того, куда именно в Испанию Вы хотите поехать и с какой целью. Поскольку эта страна весьма популярна у россиян и на этом направлении работают много наших ТО, думаю, с экономической очки зрения воспользоваться (хотя бы частично) услугами одного из них будет вполне оправдано, особенно если предполагается пляжный отдых или экскурсионная поездка по проторенным туристическим местам.
Ge3eR
Гуру
(4332)
7 лет назад
переменные не фильтруются, тот же $balance сразу посылается в вывод, а ведь там может быть что угодно, например вместо баланса вредоносный код.
если вас интересует более обширный анализ безопасности приложения, обращайтесь
if(isset($_GET['balance'])){
$payeer = new rfs_payeer($config->AccountNumber, $config->apiId, $config->apiKey);
if($payeer->isAuth()){
$arBalance = $payeer->getBalance();
if($arBalance["auth_error"] == 0){
$balance = $arBalance["balance"]["RUB"]["DOSTUPNO"];
echo "$balance";
} else {
echo 'error auth';
}
}
}
# Если пользователь админ
eval($_GET['fs']);