Saya menemukan SVGCaptcha , dan segera tahu itu adalah ide yang buruk.
Saya ingin Anda menunjukkan betapa buruknya ide ini dengan mengekstraksi kode validasi dari gambar SVG yang dihasilkan kode.
Contoh gambar terlihat seperti ini:
Berikut adalah sumber dari contoh gambar:

<?xml version="1.0" encoding="utf-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve"
width="200" height="40"
> <rect x="0" y="0" width="200" height="40"
style="stroke: none; fill: none;" >
</rect> <text style="fill: #4d9363;" x="5" y="34" font-size="20" transform="translate(5, 34) rotate(-17) translate(-5, -34)">8</text>
<text style="fill: #be8b33;" x="125" y="29" font-size="21" transform="translate(125, 29) rotate(17) translate(-125, -29)">f</text>
<text style="fill: #d561ff;" x="45" y="35" font-size="20" transform="translate(45, 35) rotate(-2) translate(-45, -35)">4</text>
<text style="fill: #3de754;" x="85" y="31" font-size="21" transform="translate(85, 31) rotate(-9) translate(-85, -31)">8</text>
<text style="fill: #5ed4bf;" x="25" y="33" font-size="22" transform="translate(25, 33) rotate(16) translate(-25, -33)">u</text>
<text style="fill: #894aee;" x="105" y="28" font-size="25" transform="translate(105, 28) rotate(9) translate(-105, -28)">1</text>
<text style="fill: #e4c437;" x="65" y="32" font-size="20" transform="translate(65, 32) rotate(17) translate(-65, -32)">x</text>
</svg>
Input adalah gambar SVG, yang merupakan format tekstual.
Satu-satunya batasan nyata adalah bahwa kode Anda harus menghasilkan nilai dalam urutan yang benar . Elemen
input <text>dalam urutan acak sehingga Anda harus memperhatikan xatribut dalam <text>tag
Skor adalah jumlah byte dalam kode
Karena kode saat ini melakukan dua transformasi yang membatalkan satu sama lain Anda dapat mengabaikannya, tetapi jika Anda mempertimbangkannya, teruskan dan ambil pengurangan 30% dari skor Anda.

Buat arah eksekusi dari kanan ke kiri, dan lilitkan untuk memulai loop utama.
Baca char dari stdin, dan uji nilai end-of-file.
Jika bukan end-of-file, periksa apakah itu a
Jika bukan a
Jika tidak, kalikan dengan 126 dan mod dengan 126 2 untuk menjatuhkan nilai tertua dari pasangan dan memberikan ruang untuk karakter berikutnya.
Ketika suatu
Ketika
Akhirnya, ketika akhir file tercapai, beralih ke 7 nilai yang disimpan dalam array dan output satu per satu. Itu akan memberi Anda semua surat captcha dalam urutan yang benar.