Ben rastladım SVGCaptcha ve hemen bunun kötü bir fikir olduğunu biliyordum.
Doğrulama kodunu, kodun ürettiği SVG görüntülerinden çıkararak bunun ne kadar kötü bir fikir olduğunu göstermenizi isterim.
Örnek bir resim şöyle görünür:
Örnek resmin kaynağı:
<?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>
Giriş, metin formatı olan SVG görüntüsüdür.
Tek gerçek kısıtlama, kodunuzun değerleri doğru sırada üretmesi gerektiğidir .
Giriş <text>
öğeleri rasgele sıradadır, bu nedenle etiketindeki x
özelliğe dikkat etmeniz gerekir.<text>
Puan, koddaki bayt sayısıdır
Kod şu anda birbirini iptal eden iki dönüşüm yaptığı için bunları yok sayabilirsiniz, ancak bunları göz önünde bulundurursanız, devam edin ve puanınızdan% 30 indirim alın.