Rumah >hujung hadapan web >tutorial css >Saya mengambil kesempatan daripada ralat dalam kod apl dating
Semasa menggunakan aplikasi temu janji gaya Tinder, salah satu aplikasi yang, selepas saling suka, aplikasi itu meletakkan orang yang terlibat dalam hubungan, saya perhatikan bahawa, untuk mempromosikan pelan premium mereka, mereka menggunakan gambar kabur untuk memperkenalkan anda orang yang telah menekan butang Suka pada profil anda.
Selepas mengadakan beberapa perlawanan, saya mendapati bahawa gambar kabur itu adalah milik akaun sebenar, iaitu, ia bukan satu set imej generik atau ruang letak.
Contoh kesan kabur yang digunakan pada fotografi
Bunyinya terlalu jelas, jadi saya membuka konsol pembangun penyemak imbas saya dan pergi ke kod CSS untuk menyemak syak wasangka saya. Mereka tidak mungkin membuat kesilapan sebegitu mudah—saya fikir—mereka melindungi identiti gambar dengan CSS mudah penapis: kabur.
.hidden-image { filter: blur(4px); }
Imej sebenar telah disampaikan oleh CDN apl ini dan kemudian penapis digunakan untuk menyembunyikannya, jadi untuk mengetahui siapa yang menyukai anda, anda hanya perlu mengalih keluar penapis.
Malangnya adalah mustahil untuk mendapatkan sebarang data lain daripada gambar atau daripada struktur URL, panggilan API atau mana-mana yang diberikan; nama, profil mahupun maklumat lain tidak boleh diakses selain gambar profil.
Sudah tentu ini adalah kesilapan seni bina, memang benar bahawa sangat mudah untuk menyembunyikan imej di bahagian hadapan, dengan CSS, anda menjimatkan ruang cakera dan mengelakkan masa pemprosesan di bahagian belakang, tetapi pilihan yang lebih baik adalah menggunakan satu set imej generik untuk semua akaun.
Alternatif lain ialah menjana lakaran kecil (dan perubahan lain, seperti menukar format, contoh: webp) secara automatik setiap kali pengguna mengemas kini imej profil utama mereka; ia menggunakan lebih sedikit ruang tetapi memastikan imej sebenar selamat dan memperibadikan pengalaman untuk setiap pengguna.
Untuk mengeksploitasi pepijat, saya mencipta skrip Javascript kecil dan menyepadukannya ke dalam sambungan untuk mengautomasikan proses menyahsekatnya setiap kali saya memasuki halaman.
Kelalaian kecil di pihak pembangun ini berlangsung kira-kira dua tahun. Ia kini telah diperbaiki jadi jika anda cuba mencari pepijat pada halaman temu janji utama, anda tidak akan menemuinya lagi, dan ini juga sebab utama saya memutuskan untuk menyiarkannya
Aplikasi telah mengubah suai kod untuk versi webnya, meninggalkan seluruh UI hampir utuh dan memilih untuk membuat lakaran kecil yang dikelirukan untuk setiap akaun, tetapi memprosesnya dari bahagian belakang, sehingga mustahil untuk mendapatkan imej sebenar. .
Adakah anda juga mengambil kesempatan daripada ini? Mata bonus jika anda tahu nama tapak web.
Atas ialah kandungan terperinci Saya mengambil kesempatan daripada ralat dalam kod apl dating. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!