سلام دوستان
من یه فرم گزارش دارم میخام کاربری که پراکسی زده ، یا از ایران نیست ، نتونه درخواستشو ارسال کنه به سرور
مثلا از طریق وی پی اس های داخل ایران هم نشه
امکان چنین مسئله ای هست ؟از لحاظ فنی
آره شدنش که میشه، یه سری سرویس ها هستند به شما یه api میدن و راحت میتونی موقعیت کاربر رو داشته باشه و بعد با اون محدود کنی یه سرچ بزنی برات میاد
همانطور که دوستان در بالا گفتن شما با محدود کردن ip میتونی کارتون رو انجام بدی ، با سرویس سایت ipapi.com شما میتونی با GuzzleHttp ای پی کاربر رو به api سایت بفرستی که نتیجه بازگشتی که شما یه بخش Security داره که مشخص میکنه امن هست (لینک آموزشی که دوستمون @coaradsupp گذاشتن ) یعنی از شبکه TOR استفاده میکنه یا خیر، همه ی این کارها رو با مشخص کردن میدلور در لاراول میتونی انجام بدی.
public function handle($request, Closure $next)
{
$ip = $request->ip();
$key = config('services.ip.key');
$url = "http://api.ipapi.com/api/{$ip}?access_key={$key}&security=1";
// make request
$client = new Client;
$response = $client->request('GET', $url);
$data = json_decode((string) $response->getBody(), true);
if (!array_key_exists('security', $data)) {
return false;
}
return $data['security']['threat_level'] === 'high' ? abort(403) : $next($request);
}
همونطور که دوست عزیز آقای موسوی فرمودند شما میتونید از سرویس که گفتند استفاده کنید ولی چون این سرویس رایگان نیست و در پاسخ مقدار Security وجود نداره شما چک کنید میتونید به شکل زیر استفاده کنید.
حالا خطا رو به هر شکلی که دوست داشتین برگردونید.
public function handle($request, Closure $next)
{
$ip = $request->ip();
$key = config('services.ip.key');
$url = "http://api.ipapi.com/api/{$ip}?access_key={$key}&security=1";
$client = new Client();
$response = $client->request('GET',$url);
$data = json_decode((string) $response->getBody() , true);
if ($data['country_name'] !== 'Iran') {
return response("country : ".$data['country_name']." not support" , 403);
}
return $next($request);
}
اره میشه $data['country_name کشور رو بگیریچک کنی ببینی از ایران این ip یا نه ولی اگر بشه متغییر Security رو بگیری که مشخص بشه از tor استفاده نکرده باشه
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟