Saya percaya ini tidak mungkin, tetapi seseorang yang saya kenal bersikeras bahwa itu berhasil. Saya bahkan tidak tahu parameter apa yang harus dicoba, dan saya belum menemukan ini didokumentasikan di mana pun.
Saya mencoba http://myserver.com/~user=username&password=mypassword tetapi tidak berhasil.
Bisakah Anda mengkonfirmasi bahwa itu sebenarnya tidak mungkin untuk melewati pengguna / lulus melalui parameter HTTP (GET atau POST)?
authentication
http
http-basic-authentication
ripper234
sumber
sumber
Jawaban:
Memang tidak mungkin untuk meneruskan nama pengguna dan kata sandi melalui parameter kueri dalam autentikasi HTTP standar. Alih-alih, Anda menggunakan format URL khusus, seperti ini:
http://username:[email protected]/
- ini mengirimkan kredensial di tajuk "Otorisasi" HTTP standar.Mungkin saja siapa pun yang Anda ajak bicara memikirkan modul atau kode khusus yang melihat parameter kueri dan memverifikasi kredensial. Ini bukan standar HTTP auth, meskipun, ini adalah hal yang khusus untuk aplikasi.
sumber
http://username:[email protected]
format tidak lagi didukung oleh IE atau Chrome , tidak akan terkejut jika orang lain mengikuti jika mereka belum melakukannya.Melewati parameter otentikasi dasar di URL tidak disarankan
Ada bidang tajuk Otorisasi untuk tujuan ini, periksa di sini: daftar tajuk http
Cara menggunakannya ditulis di sini: Otentikasi akses dasar
Di sana Anda juga dapat membaca bahwa meskipun masih didukung oleh beberapa browser, solusi yang disarankan untuk menambahkan kredensial otorisasi Dasar di url tidak disarankan.
Baca juga bab 4.1 dalam RFC 2617 - Otentikasi HTTP untuk detail lebih lanjut tentang mengapa TIDAK menggunakan Otentikasi Dasar.
Melewati parameter otentikasi dalam string kueri
Saat menggunakan OAuth atau layanan autentikasi lainnya, Anda seringkali dapat mengirim token akses Anda dalam string kueri alih-alih dalam header otorisasi, jadi sesuatu seperti:
sumber
Use of the format "user:password" in the userinfo field is deprecated.
http: // username: [email protected] akan berfungsi untuk FireFox, Chrome, Safari TAPI bukan untuk IE.
Basis Pengetahuan Microsoft
sumber
@
di kata sandi sebagai%40
. (Saya tidak tahu apakah itu berhasil, dan mungkin tergantung pada kombinasi server atau browser / server.)Sangat mungkin untuk mengirim string apa pun dalam parameter GET, meskipun tidak disarankan untuk mengirim login dan kata sandi karena dapat membuatnya sangat terlihat, terutama jika itu tidak ada dalam permintaan AJAX.
Namun Anda harus, kemudian kode halaman server untuk mengekstrak login dan kata sandi dan kemudian memvalidasi dan menggunakannya dengan cara apa pun yang diperlukan.
sumber