Наш генеральный спонсор - gamblingstore.ru предлагает готовые игровые решения и услуги для создания собственных проектов
Не я писал, скрипт рулетки пабликБро, ну ты молодец, ща мы угадаем, как ты писал обработчик и скажем тебе ответ)
ок, ща решим
Нет, не чего такого не ставил, только SSL рег руЗапрос не проходит ip валидацию, проксирование через cloudflare или какойнибудь кэш, антиддос сервис стоит?
function getIP() {
if(isset($_SERVER['HTTP_X_REAL_IP'])) return $_SERVER['HTTP_X_REAL_IP'];
return $_SERVER['REMOTE_ADDR'];
}
if (!in_array(getIP(), array('136.243.38.147', '136.243.38.149', '136.243.38.150', '136.243.38.151', '136.243.38.189', '136.243.38.108'))) {
die("hacking attempt!");
}
Да, во всех скриптах такое уже естьУ вас нет разрешения на просмотр ссылки, пожалуйста Войдите или Зарегистрируйтесь
что-то такое есть?Код:function getIP() { if(isset($_SERVER['HTTP_X_REAL_IP'])) return $_SERVER['HTTP_X_REAL_IP']; return $_SERVER['REMOTE_ADDR']; } if (!in_array(getIP(), array('136.243.38.147', '136.243.38.149', '136.243.38.150', '136.243.38.151', '136.243.38.189', '136.243.38.108'))) { die("hacking attempt!"); }
так или иначе все запросы идут от твоего сервера, а не через прокси cloudflare
Да вотУ вас нет разрешения на просмотр ссылки, пожалуйста Войдите или Зарегистрируйтесь
что-то такое есть?Код:function getIP() { if(isset($_SERVER['HTTP_X_REAL_IP'])) return $_SERVER['HTTP_X_REAL_IP']; return $_SERVER['REMOTE_ADDR']; } if (!in_array(getIP(), array('136.243.38.147', '136.243.38.149', '136.243.38.150', '136.243.38.151', '136.243.38.189', '136.243.38.108'))) { die("hacking attempt!"); }
так или иначе все запросы идут от твоего сервера, а не через прокси cloudflare
public function resultFK(Request $r) {
$ip = false;
if(isset($_SERVER['HTTP_X_REAL_IP'])) {
$ip = $this->getIpFK($_SERVER['HTTP_X_REAL_IP']);
} else {
$ip = $this->getIpFK($_SERVER['REMOTE_ADDR']);
}
if(!$ip) return ['msg' => 'Error check IP!', 'type' => 'error'];
$order = $this->chechOrder($r->get('MERCHANT_ORDER_ID'), $r->get('AMOUNT'));
if($order['type'] == 'error') return ['msg' => $order['msg'], 'type' => 'error'];
$user = User::where('user_id', $r->get('us_uid'))->first();
if(!$user) return ['msg' => 'User not found!', 'type' => 'error'];
/* ADD Balance from user and partner */
$sum = $r->get('AMOUNT');
$this->settings->profit_money += round($sum/$this->settings->profit_koef, 2);
$this->settings->save();
if($this->settings->dep_bonus_min > 0 && $sum >= $this->settings->dep_bonus_min) {
$sum = round($sum + ($sum/100)*$this->settings->dep_bonus_perc, 2);
Profit::create([
'game' => 'ref',
'sum' => -(($sum/100)*$this->settings->dep_bonus_perc)
]);
}
User::where('user_id', $user->user_id)->update([
'balance' => $user->balance+$sum
]);
Payments::where('order_id', $r->get('MERCHANT_ORDER_ID'))->update([
'status' => 1
]);
/* SUCCESS REDIRECT */
return ['msg' => 'Your order #'.$r->get('MERCHANT_ORDER_ID').' has been paid successfully!', 'type' => 'success'];
}
private function chechOrder($id, $sum) {
$merch = Payments::where('order_id', $id)->first();
if(!$merch) return ['msg' => 'Order checked!', 'type' => 'success'];
if($sum != $merch->sum) return ['msg' => 'You paid another order!', 'type' => 'error'];
if($merch->order_id == $id && $merch->status == 1) return ['msg' => 'Order alredy paid!', 'type' => 'error'];
return ['msg' => 'Order checked!', 'type' => 'success'];
}
function getIpFK($ip) {
$list = ['136.243.38.147', '136.243.38.149', '136.243.38.150', '136.243.38.151', '136.243.38.189', '88.198.88.98', '37.1.14.226', '136.243.38.108', '80.71.252.10'];
for($i = 0; $i < count($list); $i++) {
if($list[$i] == $ip) return true;
}
return false;
}
Пробовал прописывать ip только из ip freekassa, не помогло.Во первых тебе нужно выяснить почему IP с которого приходит уведомление не соответствует тем что у тебя в массиве.
Уверен это из-за проксирования от клаудфлейр или какого нибудь антиддос сервиса
Во вторых у тебя много лишних ip адресов, это не безопасно
$list = ['136.243.38.147', '136.243.38.149', '136.243.38.150', '136.243.38.151', '136.243.38.189', '88.198.88.98', '37.1.14.226', '136.243.38.108', '80.71.252.10'];
Добавь только те которые написаны в api фрикассы.
Дай угадаю Let's Encryptssl от какого сервиса?
Ясно, спасибо.Нет, у ТС сертификат от CF соответсвтенно и запросы проксируются клаудом как я и предполагал.
не ОТ а К его серверу. И таки через прокси cloudflareУ вас нет разрешения на просмотр ссылки, пожалуйста Войдите или Зарегистрируйтесь
что-то такое есть?Код:function getIP() { if(isset($_SERVER['HTTP_X_REAL_IP'])) return $_SERVER['HTTP_X_REAL_IP']; return $_SERVER['REMOTE_ADDR']; } if (!in_array(getIP(), array('136.243.38.147', '136.243.38.149', '136.243.38.150', '136.243.38.151', '136.243.38.189', '136.243.38.108'))) { die("hacking attempt!"); }
так или иначе все запросы идут от твоего сервера, а не через прокси cloudflare
Я ему это 2 раза это тут написал и раз 5 в телеграме. Сложный ТСВсе потому что (скорее всего), CloudFlare никогда не возвращает реальный IP конечного пользователя. Ведь весь трафик проксируется через CloudFlare и
HTTP_X_REAL_IP/REMOTE_ADDR возвращает IP текущего подключения CloudFlare. CF специально в заголовке HTTP_CF_CONNECTING_IP отправляет НАСТОЯЩИЙ IP клиента, с которого идет запрос.