de-vraag
  • Pertanyaan
  • Tag
  • Pengguna
Notifikasi
Imbalan
Registrasi
Setelah Anda mendaftar, Anda akan diberitahu tentang balasan dan komentar untuk pertanyaan Anda.
Gabung
Jika Anda sudah memiliki akun, masuk untuk memeriksa pemberitahuan baru.
Akan ada hadiah untuk pertanyaan, jawaban, dan komentar tambahan.
Lebih
Sumber
Sunting
 Milton90
Milton90
Question

Dapatkan alamat IP klien melalui layanan web pihak ketiga

Saya ingin membaca alamat ip saya dari halaman berikut (http://l2.io/ip atau lainnya) menggunakan javascript untuk menyimpannya di variabel saya "myIp".

function getMyIP() {
  var myIp;
  ...
  return myIp;
}

Bagaimana Anda bisa melakukannya?

15 2013-07-01T22:59:11+00:00 3
 moooeeeep
moooeeeep
Pertanyaan edit 2 Juni 2016 в 2:30
Pemrograman
javascript
ip
Pertanyaan ini memiliki :value jawaban dalam bahasa Inggris, untuk membacanya masuk ke akun Anda.
Solution / Answer
Fabrício Matté
Fabrício Matté
1 Juli 2013 в 11:01
2013-07-01T23:01:24+00:00
Lebih
Sumber
Sunting
#19803494

Memeriksa situs tertaut, Anda dapat menyertakan tag skrip yang melewatkan parameter ?var=desiredVarName yang akan ditetapkan sebagai variabel global yang berisi alamat IP:

<script type="text/javascript" src="http://l2.io/ip.js?var=myip"></script>
                                                      <!-- ^^^^ -->
<script>alert(myip);</script>

Demo

Saya yakin saya tidak perlu mengatakan bahwa hal ini dapat dengan mudah di-spoof (baik melalui penggunaan proxy atau header permintaan yang di-spoof), tetapi perlu dicatat dalam hal apa pun.


Dukungan HTTPS

Jika halaman Anda disajikan menggunakan protokol https, kebanyakan browser akan memblokir konten di halaman yang sama yang disajikan menggunakan protokol http (yang mencakup skrip dan gambar), sehingga pilihannya agak terbatas. Jika Anda memiliki < 5k hits/hari, Smart IP API dapat digunakan. Sebagai contoh:

<script>
var myip;
function ip_callback(o) {
    myip = o.host;
}
</script>
<script src="https://smart-ip.net/geoip-json?callback=ip_callback"></script>
<script>alert(myip);</script>

Demo

Edit: Rupanya, sertifikat layanan https ini telah kedaluwarsa sehingga pengguna harus menambahkan pengecualian secara manual. Buka API-nya secara langsung untuk memeriksa status sertifikat: https://smart-ip.net/geoip-json


Dengan logika back-end

Cara yang paling tangguh dan sederhana, jika Anda memiliki logika server back-end, adalah dengan hanya mengeluarkan IP pemohon di dalam tag <script>, dengan cara ini Anda tidak perlu bergantung pada sumber daya eksternal. Sebagai contoh:

PHP:

<script>var myip = '<?php echo $_SERVER['REMOTE_ADDR']; ?>';</script>

Ada juga solusi PHP yang lebih kokoh (memperhitungkan header yang terkadang diatur oleh proxy) dalam jawaban terkait ini.

C#:

<script>var myip = '<%= Request.UserHostAddress %>';</script>
 Community
Community
Jawaban edit 23 Mei 2017 в 12:01
33
0
 bd_person
bd_person
27 April 2014 в 9:05
2014-04-27T09:05:52+00:00
Lebih
Sumber
Sunting
#19803496
    <script type="application/javascript">
            function getip(json){
            alert(json.ip); // alerts the ip address
    }
    </script>

    <script type="application/javascript" src="http://jsonip.appspot.com/?callback=getip"></script>
1
0
John Williams
John Williams
9 Maret 2014 в 10:39
2014-03-09T22:39:23+00:00
Lebih
Sumber
Sunting
#19803495

Ini menarik kembali info klien juga.

var get = function(u){
    var x = new XMLHttpRequest;
    x.open('GET', u, false);
    x.send();
    return x.responseText;
}

JSON.parse(get('http://ifconfig.me/all.json'))
0
0
Related communities 1
JavaScript Indonesia
JavaScript Indonesia
14 727 pengguna
Grup JavaScript yang membahas JavaScript, framework JS, dan Node JS secara universal. Cek Pinned Message untuk keterangan lebih lanjut. Komunitas ReactJS: https://t.me/react_idn
Buka telegram
Tambahkan pertanyaan
Kategori
Semua
Teknologi
Budaya / Rekreasi
Kehidupan / Seni
Ilmu Pengetahuan
Profesional
Bisnis
Pengguna
Semua
Baru
Populer
1
Roxana Elizabeth CASTILLO Avalos
Terdaftar 4 hari yang lalu
2
Hideo Nakagawa
Terdaftar 5 hari yang lalu
3
Sergiy Tytarenko
Terdaftar 6 hari yang lalu
4
shoxrux azadov
Terdaftar 1 minggu yang lalu
5
Koreets Koreytsev
Terdaftar 1 minggu yang lalu
ID
JA
RU
© de-vraag 2022
Sumber
stackoverflow.com
di bawah lisensi cc by-sa 3.0 dengan atribusi