Editor DNS dapat menampilkan beberapa fragmen yang dikutip tanpa membuat beberapa catatan. Sebaliknya, dua baris dapat terlihat seperti satu kebijakan bagi seseorang, namun tetap menjadi dua catatan independen bagi penerima. Periksa nilai pasti dan batas rekaman sebelum menyatakan rekaman autentikasi benar.
Baca representasi DNS
Referensi: RFC 1035 §3.3, RFC 1035 §3.3.14, RFC 7208 §3.3.
RFC 1035 mendefinisikan data TXT sebagai satu atau lebih string karakter. Setiap string dibatasi hingga 255 oktet, belum tentu 255 karakter yang ditampilkan. Nilai yang lebih panjang dapat menempati beberapa string dalam satu record. Aplikasi mendefinisikan bagaimana data tersebut diinterpretasikan. Untuk SPF, RFC 7208 secara eksplisit memerlukan penggabungan string di dalamnya sebuah rekor tanpa menyisipkan spasi.
Tanda kutip dalam string pembatas presentasi file zona. Mereka tidak secara otomatis menjadi tanda kutip literal dalam nilai DNS . Formulir penyedia mungkin mengharapkan teks mentah, sintaks file zona yang dikutip, atau daftar string terstruktur. Ikuti format masukan yang terdokumentasi dan periksa jawaban yang dihasilkan daripada menambah atau menghapus tanda kutip hingga layar tampak familier.
Pertahankan ruang dan catatan independen
Referensi: RFC 7208 §4.5.
Jika nilai SPF dipisahkan tepat sebelum mekanisme, pertahankan ruang pemisah di dalam salah satu string. Dua string yang berdekatan berisi v=spf1 Dan ip4:192.0.2.10 -all akan direkonstruksi sebagai urutan token yang tidak valid tanpa spasi itu. Dalam contoh yang salah format ini, awalan yang direkonstruksi adalah v=spf1ip4, yang bukan merupakan token versi SPF yang valid. Jika tidak ada data lain yang dipilih sebagai kebijakan SPF , hasil SPF tidak ada. Pertahankan sintaks aplikasi yang tepat daripada berasumsi setiap konsumen TXT menangani spasi secara sama.
Jangan bergabung secara terpisah catatan TXT hanya karena parser mengembalikannya dalam satu koleksi. Beberapa data TXT yang tidak terkait pada pemilik yang sama adalah hal yang normal. Beberapa catatan yang dipilih sebagai kebijakan SPF pada pemilik tersebut tidak: SPF mengembalikan kesalahan permanen daripada menggabungkan daftar otorisasinya. Pertahankan jawaban lengkap dan aturan pemilihan aplikasi dalam diagnosis.
Mereproduksi tes batas
Perlengkapan zona sintetis A berisi satu catatan: example.com . 300 DALAM TXT " v=spf1 ip4:192.0.2.10" " -all ". Rekonstruksi stringnya secara berurutan tanpa menambahkan byte. Teks SPF yang diharapkan adalah v=spf1 ip4:192.0.2.10 -all. Alamat dokumentasi hanya bersifat ilustratif dan tidak boleh digunakan untuk mengotorisasi pengirim produksi.
Perlengkapan B menggantikan A dengan dua catatan: example.com . 300 DI TXT " v=spf1 ip4:192.0.2.10 -all " Dan example.com . 300 DALAM TXT " v=spf1 ip4:192.0.2.20 -all ". Pemilihan SPF yang diharapkan adalah beberapa catatan kebijakan dan kesalahan permanen. Perlengkapan C mempertahankan A dan menambahkan example.com . 300 DI TXT "verifikasi situs=sintetis"; catatan verifikasi yang tidak terkait bukan merupakan kebijakan SPF tambahan.
Muat setiap perlengkapan secara terpisah di zona pengujian terisolasi. Pertanyaan gali @AUTH example.com . TXT +tidak ada kutukan, menggantikan otoritas lab untuk AUTH. Pertahankan satu objek rekaman sumber daya per rekaman yang dikembalikan dan daftar string yang diurutkannya. Harness yang setia harus membedakan A dari B meskipun tampilannya menampilkan output yang panjang. Ini adalah hasil yang diharapkan, bukan hasil tes langsung yang dilaporkan.
Verifikasi nilai yang dipublikasikan
Bandingkan masukan editor, setiap jawaban otoritatif dan jawaban rekursif. Periksa nama pemilik apakah ada akhiran zona yang berulang secara tidak sengaja. Gunakan perpustakaan DNS yang mempertahankan struktur catatan saat mengotomatiskan pemeriksaan; goresan teks berorientasi garis dapat membingungkan pembungkusan dengan batas rekaman.
Pertahankan nilai dan persetujuan sebelumnya sebelum perubahan produksi. Setelah publikasi, uji jalur email yang relevan dengan konten yang tidak berbahaya dan ambil bukti autentikasi. Sintaks TXT yang benar menetapkan prasyarat DNS ; hal ini tidak membuktikan bahwa suatu layanan menandatangani pesan atau bahwa penerima menerimanya.
Usahakan ruang lingkup bukti tetap eksplisit
Penggabungan string lokal mengonfirmasi bahwa ruang yang dipertahankan menghasilkan v=spf1 ip4:192.0.2.10 -all ; menghilangkannya menghasilkan awalan v=spf1ip4 yang tidak dipilih. Ini adalah ilustrasi teks/pilihan, bukan evaluator SPF yang dijalankan atau kueri DNS langsung.