Siapa lagi turut membaca? Skrip pihak ketiga pada halaman borang
Halaman borang hubungan sering memuatkan kod daripada setengah dozen syarikat lain. Sebahagiannya boleh melihat apa yang ditaip pelawat — dan kebanyakannya tidak pernah disemak oleh sesiapa dalam pasukan anda.
Apabila seseorang mengisi borang hubungan anda, mereka menganggap mesej itu pergi kepada anda. Namun, di banyak laman, halaman borang turut menjalankan skrip daripada penyedia analitik, rangkaian iklan, pembekal sembang dan apa sahaja yang telah dikumpulkan oleh pengurus tag sepanjang tahun. Setiap skrip ini berjalan dengan hak yang sama seperti kod anda sendiri: ia boleh membaca halaman, memerhatikan medan input dan menghantar data ke pelayannya sendiri. Itu tidak bermakna semuanya berbuat demikian. Tetapi pada halaman tempat pelawat menaip nama, alamat e-mel dan kadangkala butiran kesihatan, wang atau masalah undang-undang mereka, anda sepatutnya tahu siapa yang turut membaca.
Pihak yang lazim terlibat
- Alat main semula sesi merakam klik, penatalan dan sering kali ketukan kekunci supaya lawatan boleh dimainkan semula kemudian. Melainkan medan disamarkan, ini boleh merangkumi apa yang ditaip orang dalam borang.
- Piksel iklan dan analitik melaporkan paparan halaman dan penukaran kepada pihak ketiga — pada halaman borang itu sendiri dan sangat kerap pada halaman terima kasih.
- Gajet sembang memuatkan aplikasi lengkap daripada domain lain, biasanya pada setiap halaman, termasuk halaman yang mempunyai borang.
- Pengurus tag membolehkan pemasaran menambahkan skrip tanpa pelaksanaan kod baharu. Mudah, tetapi ini juga bermakna kod boleh sampai ke halaman borang tanpa disemak oleh sesiapa.
- Pembantu yang lebih kecil — ujian A/B, peta haba, benaman sosial, fon, peta — masing-masing menambahkan hos yang menerima sekurang-kurangnya alamat IP pelawat dan biasanya alamat laman anda; skrip antaranya juga boleh membaca URL penuh halaman.
Main semula sesi: perakam di sebelah medan input
Kebanyakan alat main semula menawarkan tetapan untuk menyamarkan medan input atau mengecualikan seluruh kawasan, dan sesetengahnya menyamarkan medan tertentu secara lalai. Titik lemahnya ialah pengecualian: medan mesej teks bebas yang tidak diliputi oleh tetapan lalai, borang yang dibina daripada komponen yang tidak dikenali oleh peraturan penyamaran, atau tetapan yang dimatikan oleh seseorang semasa menyahpepijat dan tidak pernah dihidupkan semula. Rakaman yang disimpan oleh pihak ketiga kemudian mungkin mengandungi tepat apa yang ditulis oleh pelawat kepada anda — sesuatu yang tidak dijangka oleh mereka dan mungkin langsung tidak disebut dalam dasar privasi anda, yang di bawah Art. 13 GDPR mesti menamakan penerima atau kategori penerima data peribadi.
Piksel dan halaman terima kasih
Penjejakan penukaran memerlukan isyarat bahawa borang telah dihantar, dan halaman terima kasih ialah tempat yang jelas untuk mencetuskannya. Kebanyakan piksel menghantar alamat penuh halaman bersama setiap peristiwa. Jika borang dihantar melalui GET, atau pengalihan selepas penghantaran menambahkan nilai seperti ?name=…&email=… pada URL, nilai itu terus pergi kepada penyedia iklan atau analitik. Sesetengah piksel turut menawarkan fungsi yang mengambil alamat e-mel atau nombor telefon secara automatik daripada borang untuk menambah baik pemadanan. Jika piksel dicetuskan sebelum pelawat menjawab sepanduk kuki — atau selepas mereka menolaknya — masalahnya bukan lagi hanya teknikal.
Pengurus tag, persetujuan dan rantaian bekalan
Pengurus tag sering menjadi tempat gambaran keseluruhan hilang. Tag kempen untuk pameran perdagangan dua tahun lalu, percubaan alat peta haba, piksel bagi rangkaian yang tidak lagi digunakan oleh sesiapa — semuanya mungkin masih dimuatkan pada setiap halaman, termasuk borang. Pencetus kerap ditetapkan kepada «semua halaman», dan peraturan persetujuan dikonfigurasikan satu tag demi satu tag, maka satu tag dengan syarat yang tiada sudah cukup untuk memuatkan skrip sebelum pelawat bersetuju.
Kemudian terdapat rantaian bekalan. Apabila anda membenamkan skrip daripada hos lain, anda mempercayai sesiapa yang mengawal hos itu hari ini dan pada masa hadapan. Pembekal boleh mengubah tindakan skripnya, dijual atau mengalami pencerobohan pada infrastruktur pengedarannya. Pelayar tidak dapat membezakan skrip sah daripada yang dimanipulasi, maka kod yang disuntik pada halaman borang boleh membaca setiap medan dan menghantarnya ke mana-mana — corak yang sama digunakan untuk mencuri data pada halaman pembayaran.
Apa yang boleh anda lakukan
- 1Buat inventori. Buka setiap halaman borang dan halaman terima kasihnya dengan alat pembangun pelayar, semak tab Rangkaian dan senaraikan setiap hos luar. Lakukan sekali tanpa persetujuan dan sekali selepas menerima sepanduk.
- 2Buang apa yang tidak diperlukan oleh sesiapa. Tag tanpa pemilik dan tujuan yang jelas ialah calon untuk dipadamkan. Hadkan pencetus pengurus tag supaya hanya tag yang mesti berjalan pada halaman borang dijalankan.
- 3Samarkan input dalam alat main semula. Samarkan semua medan input, bukan hanya kata laluan, dan kecualikan seluruh kawasan borang jika boleh. Kemudian tonton rakaman untuk melihat apa yang benar-benar disimpan.
- 4Hantar penukaran tanpa data peribadi. Hantar melalui POST, jangan masukkan nilai borang dalam URL pengalihan dan cetuskan peristiwa neutral seperti «contact_form_sent». Matikan pengumpulan automatik medan borang dalam piksel.
- 5Muatkan hanya selepas persetujuan. Skrip yang memerlukan persetujuan tidak boleh dimuatkan sebelum pelawat bersetuju — dan mesti kekal dimatikan jika mereka menolak. Uji kedua-dua laluan.
- 6Kunci kandungan dan hadkan sumber apabila boleh. Subresource Integrity (hash pada tag skrip) membuatkan pelayar menolak fail statik yang telah berubah; ia tidak sesuai untuk skrip yang memang direka untuk berubah, seperti pengurus tag. Content Security Policy mengehadkan hos yang boleh menjalankan skrip — mulakan dalam mod laporan sahaja untuk melihat apa yang akan rosak.
- 7Perhatikan perubahan. Hos skrip baharu pada halaman borang sepatutnya keputusan yang disengajakan, bukan kejutan. Pastikan anda diberitahu apabila hos baharu muncul.
formexposed menyemak piksel penjejakan yang dicetuskan pada halaman borang anda, sama ada alat main semula sesi mungkin merakam input borang dan sama ada menolak sepanduk kuki benar-benar menghentikan penjejakan — secara pasif, tiada apa-apa dihantar. Semakan percuma menunjukkan tahap keseluruhan; dapatan ini berada dalam laporan penuh. Dengan pemantauan domain yang disahkan, formexposed turut memberi amaran apabila hos skrip baharu muncul pada halaman borang.