Rumah  >  Soal Jawab  >  teks badan

Tajuk Baharu: Melindungi Kunci API: Kaedah Tersembunyi dalam JavaScript Bahagian Klien

<p>Sekarang saya sedang menulis aplikasi JavaScript sisi pelanggan yang membuat permintaan kepada API Kalkulator Harga USPS. Untuk membuat permintaan ini, saya perlu memberikan ID pengguna API saya dalam XML yang diminta. Teg kelihatan seperti ini: <code><RateV4Request USERID="ThisIsWhereMyUserIdGoes"></code>. Soalan saya ialah: Adakah terdapat cara untuk memberikan ID pengguna saya dalam JavaScript semasa masih menyembunyikannya daripada pengguna yang melihat fail klien. Pada masa ini, satu-satunya penyelesaian saya ialah mencipta fail PHP pada pelayan saya yang mengandungi ID pengguna dan kemudian menggunakan permintaan AJAX dalam JavaScript klien untuk menyimpannya dalam pembolehubah global. Kodnya adalah seperti berikut: </p> <pre class="brush:php;toolbar:false;">var userID; $.get("/secrets.php", function( data ) { ID pengguna = data; });</pre> <p>Adakah pendekatan ini mencukupi untuk menghalang ID pengguna API saya daripada dilihat oleh pengguna aplikasi saya? Adakah terdapat cara lain untuk melakukan ini? </p>
P粉521748211P粉521748211423 hari yang lalu583

membalas semua(2)saya akan balas

  • P粉872182023

    P粉8721820232023-08-25 09:30:52

    Jika anda membaca halaman ini pada tahun 2020 dan tidak mahu membangunkan kod sisi pelayan atas apa jua sebab (menjimatkan kos pengehosan, dll.), fungsi tanpa pelayan mungkin penyelesaiannya.

    Ini juga memanggil API pihak ketiga dari bahagian pelayan, tetapi anda tidak perlu membangunkan proksi API bahagian pelayan penuh.

    Netlify mempunyai dokumentasi yang berkaitan. Saya rasa penyedia lain seperti AWS Lambda, Google Cloud Function juga menawarkan fungsi yang serupa, tetapi tidak pasti.

    https://github.com/netlify/code-examples/tree/master/function_examples/token-hider

    Kelebihan Tidak perlu menguruskan pelayan

    Keburukan Kunci masuk vendor

    balas
    0
  • P粉245276769

    P粉2452767692023-08-25 00:22:43

    Ringkasnya: Tidak, anda tidak boleh melindungi kunci API anda dalam aplikasi klien.

    Artikel ini memperincikan beberapa butiran

    Dua pilihan:

    • Buat panggilan API di bahagian pelayan dan berikan maklumat kepada pelanggan dari sana
    • Memerlukan pelanggan menggunakan kunci API mereka sendiri

    balas
    0
  • Batalbalas