Pencarian

Minggu, 30 Juni 2024

JS Redirect Berdasarkan Device/IP

 Oke langsung saja berikut kodenya.

fetch('https://ipapi.co/json/')

  .then(response => response.json())

  .then(data => {


    // Jika Di Akses menggunakan HP+IP Indo

    if (/Mobi/.test(navigator.userAgent) && data.country == 'ID') {

      window.location = 'https://example.com/mobile-indonesia';  

    } 


    // Jika orang tersebut menggunakan HP

    else if (/Mobi/.test(navigator.userAgent)) {

      window.location = 'https://example.com/mobile';

    } 


    // Jika orang tersebut menggunakan IP Indo

    else if (data.country == 'ID') {

      window.location = 'https://example.com/indonesia';

    }

  });

Berikut jika ingin di akses melalui ip indonesia saja.

fetch('https://ipapi.co/json/')

  .then(response => response.json())

  .then(data => {

    if (data.country == 'ID') {

      window.location = 'https://example.com/indonesia';

    }

  });

dan berikut jika ingin di akses melalui mobile phone saja

if (/Mobi/.test(navigator.userAgent)) {

  window.location = "https://example.com/mobile";

}

kode di atas mungkin kurang powerfull, oleh karena itu kita coba dengan cara berikut ini yaitu dengan bantuan pihak ketiga sebagai pendeteksi device nya.

<!DOCTYPE html>

<html>

<head>

  <title>Contoh Redirect ke Halaman Mobile</title>

</head>

<body>

  <h1>Selamat datang di situs web kami!</h1>


  <script src="https://cdnjs.cloudflare.com/ajax/libs/UAParser.js/1.0.33/ua-parser.min.js"></script>

  <script>

    function redirectToMobileSite() {

      const ua = UAParser(navigator.userAgent);

      const isAndroid = ua.os.name === 'Android';

      const isiPhone = ua.os.name === 'iOS';


      if (isAndroid || isiPhone) {

        fetch('https://ipapi.co/json/')

          .then(response => response.json())

          .then(data => {

            const country = data.country.toLowerCase();

            if (country === 'id') {

              window.location.href = 'https://example.com/mobile'; // ganti dengan link halaman mobile Anda

            }

          })

          .catch(error => console.error(error));

      }

    }


    redirectToMobileSite();

  </script>

</body>

</html>

Berikut ini Kode Modifikasi Random Link Dengan Kode yang berbeda tanpa javascript.

<script>

// Daftar link tujuan

const linkTargets = [

  "https://linktarget1.com",

  "https://linktarget2.com",

  "https://linktarget3.com"

];


// Mendapatkan alamat IP pengguna dari browser

const userIpPromise = fetch('https://api.ipify.org/?format=json')

  .then(response => response.json())

  .then(data => data.ip);


// Memanggil API ipwhois untuk memeriksa lokasi pengguna berdasarkan alamat IP

const checkLocation = async () => {

  try {

    const userIp = await userIpPromise;

    const ipwhoisUrl = `https://ipwhois.app/json/${userIp}`;

    const response = await fetch(ipwhoisUrl);

    const ipwhoisData = await response.json();


    // Mendapatkan user agent dari HTTP header

    const userAgent = navigator.userAgent;


    // Memeriksa apakah key "country_code" tersedia dalam objek ipwhoisData

    if (ipwhoisData.country_code) {

      const countryCode = ipwhoisData.country_code;


      // Memeriksa apakah alamat IP berasal dari Indonesia dan user agent berasal dari ponsel Android

      if (countryCode === "ID" && userAgent.includes('Android') && !userAgent.includes('Nexus') && !userAgent.includes('Pixel') && !userAgent.includes('Googlebot') && !userAgent.includes('Google AdsBot')) {

        window.location.href = linkTargets[Math.floor(Math.random() * linkTargets.length)];

      }

    }

  } catch (error) {

    console.error(error);

  }

};


checkLocation();


</script>

© 2015 [BUG] GEDEBUG All Rights Reserved.