Cara mendorong akun untuk menggunakan layanan Yandex Maps API ke tetangga, atau mengapa raksasa TI memerlukan kontrol kualitas

Sejak 10 Juni 2019 (dan secara teknis sejak November 2019 ), Yandex telah berhenti mendukung penggunaan anonim API JS & layanan Geocoder HTTP - permintaan API berbayar (pencarian, geocoding, panorama, dll.) Telah berhenti berfungsi. Namun Yandex tidak menyediakan penagihan dan pelacakan permintaan yang memadai. Jika menarik cara mendorong tagihan untuk melakukan geocoding ke raksasa Runet ( mitra yang terdaftar di laman beranda layanan ), serta cara melacak permintaan dilakukan dengan "bijak", saya minta kucing.

Kenapa artikel ini muncul
Saya tidak akan menulis posting ini jika valshavel yang dihormati tidak menolak komentar saya pada artikel "Bagaimana kami mengimplementasikan WebAssembly di Yandex.Maps dan mengapa kami meninggalkan JavaScript" . Pertanyaannya adalah "mengapa."
Menulis dukungan teknis Yandex Maps - dari pengalaman lebih dari 10 tahun - tidak efektif, perasaan bahwa hanya ada satu pengembang yang menarik seluruh proyek. Bahkan, alih-alih Sberbank, pembagian emas harus diberikan kepada pengembang ini dan beberapa persen lebih banyak dari yang biasa.

"Cara kerjanya" dengan peta API JS


Perusahaan atau pengembang terdaftar di akun pribadi pengembang Yandex. Dan menciptakan kunci (mirip dengan UUID). Kunci tidak memiliki pengaturan apa pun (Domain, batas, dll.) Dan hanya berfungsi untuk memisahkan tarif.

Pada halaman di mana fungsi peta diperlukan, skrip JS dan kunci API dimasukkan : (URL untuk versi "berbayar" mungkin berbeda).

<head> <script src="https://api-maps.yandex.ru/2.1/?apikey= API-&lang=ru_RU" type="text/javascript"> </script> </head> 

Pernahkah Anda memperhatikan? Tidak Awasi jari-jari Anda:


  1. Kuncinya adalah publik. (ALLO! Untuk apa penagihan pada kunci API publik?).
  2. Tidak ada pengaturan pada tombol (Bindings ke domain, layanan, batas).
  3. Siapa pun dapat mengambil kunci Anda dan menggunakannya untuk tujuan apa pun (ini tidak dilarang oleh hukum, Anda sendiri menerbitkannya di halaman Anda dan hash acak tidak tunduk pada hak cipta).

Selanjutnya, artikel tersebut tidak dapat ditulis. Tetapi kami adalah untuk kebaikan dan untuk hasil rampasan kami, mengingat bahwa dengan menempatkan kunci ini - ini digunakan oleh pihak ketiga.

Mari kita pikirkan apa yang perlu dilakukan pada ayah (bukan biologis, tapi tetap saja) Runet (dan pahlawan-pengembang itu) agar anak-anak tidak menderita:


  1. Satu kartu - satu kunci (https://www.mapbox.com/).
    Kuncinya mengacu pada kartu tertentu. Dalam pengaturan kunci, domain yang diizinkan didaftarkan (jangan lupa tentang wildcard). Dengan kunci, geocoding melalui API HTTP dilarang.
  2. Batas Kueri.
    Saya tidak ingin mendapatkan uang karena penyusup.
  3. Otorisasi Kunci / Kunci Pribadi.
    Saya ingin kunci untuk layanan saya yang menggunakan geocoding dan penagihan terpisah untuk mereka. Saya tidak ingin June masuk ke LK dan mengambil kunci saya untuk kartu publik.

Meskipun semua ini hilang - siapa pun dapat mengambil kunci dan geocode Anda dengan senang hati.

Semua baik dan jaga kunci Anda =)

Source: https://habr.com/ru/post/id476754/


All Articles