Perbedaan antara HTTP_X_FORWARDED_FOR dan REMOTE_ADDR. Tidak ada variabel HTTP_X_FORWARDED_FOR di Request.ServerVariables, hanya REMOTE_ADDR, tetapi kedua variabel dapat memperoleh alamat IP klien. Jadi apa perbedaan di antara keduanya?
Gunakan Request.ServerVariables(REMOTE_ADDR) di ASP untuk mendapatkan alamat IP klien. Namun jika klien menggunakan server proxy untuk mengakses, yang diperoleh adalah alamat IP server proxy, bukan alamat IP klien sebenarnya. Untuk mendapatkan alamat IP asli klien melalui server proxy, gunakan Request.ServerVariables(HTTP_X_FORWARDED_FOR) untuk membacanya.
Namun perlu diperhatikan bahwa tidak semua server proxy dapat menggunakan Request.ServerVariables(HTTP_X_FORWARDED_FOR) untuk membaca IP klien yang sebenarnya.
Hal lain yang perlu diperhatikan adalah jika klien tidak mengakses melalui server proxy, nilai yang diperoleh dengan Request.ServerVariables (HTTP_X_FORWARDED_FOR) akan kosong. Jadi, jika Anda ingin menggunakan metode ini di program Anda, Anda bisa melakukannya seperti ini:
...
userip = Permintaan.ServerVariables(HTTP_X_FORWARDED_FOR)
Jika userip = Maka userip = Permintaan.ServerVariables(REMOTE_ADDR)
...
Artinya: jika klien melewati server proxy, nilai HTTP_X_FORWARDED_FOR diambil. Jika klien tidak melewati server proxy, nilai REMOTE_ADDR diambil.
Tentu saja, pendekatan di atas tidak mahakuasa. Seperti yang disebutkan di paragraf ketiga, pernahkah Anda mempertimbangkan bahwa jika pengguna menggunakan proxy level 2, proxy level 3, proxy level 4... .