मैं SVGCaptcha पर आया था, और तुरंत पता चला कि यह एक बुरा विचार था।
मैं आपको यह दिखाना चाहता हूं कि एसवीजी छवियों से सत्यापन कोड निकालने से यह कितना बुरा विचार है जो कोड पैदा करता है।
एक उदाहरण छवि इस तरह दिखती है:
यहाँ उदाहरण छवि का स्रोत है:
<?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>
इनपुट एसवीजी छवि है, जो एक पाठ प्रारूप है।
एकमात्र वास्तविक प्रतिबंध यह है कि आपके कोड को सही क्रम में मूल्यों का उत्पादन करना चाहिए ।
इनपुट <text>
तत्व यादृच्छिक क्रम में हैं, इसलिए आपको टैग x
में विशेषता पर ध्यान देना होगा<text>
कोड में स्कोर बाइट्स की संख्या है
चूंकि वर्तमान में कोड दो परिवर्तन करता है जो एक-दूसरे को रद्द करते हैं, आप उन्हें अनदेखा कर सकते हैं, लेकिन यदि आप उन्हें ध्यान में रखते हैं, तो आगे बढ़ें और अपने स्कोर से 30% की कटौती करें।