ฉันเจอSVGCaptchaและรู้ทันทีว่ามันเป็นความคิดที่ไม่ดี
ฉันต้องการให้คุณแสดงให้เห็นว่าความคิดนี้แย่เพียงใดโดยการแยกรหัสการตรวจสอบจากภาพ SVG ที่รหัสนั้นสร้างขึ้น
ภาพตัวอย่างมีลักษณะดังนี้:
นี่คือที่มาของภาพตัวอย่าง:
<?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>
อินพุตเป็นภาพ SVG ซึ่งเป็นรูปแบบข้อความ
เพียงข้อ จำกัด ที่แท้จริงคือว่ารหัสของคุณจะต้องผลิตค่าในลำดับที่ถูกต้อง องค์ประกอบการ
ป้อนข้อมูล<text>
อยู่ในลำดับสุ่มดังนั้นคุณต้องใส่ใจกับx
คุณลักษณะใน<text>
แท็ก
คะแนนคือจำนวนไบต์ในรหัส
เนื่องจากปัจจุบันโค้ดทำการแปลงสองอย่างที่ยกเลิกซึ่งกันและกันซึ่งคุณสามารถเพิกเฉยได้ แต่ถ้าคุณนำมาพิจารณาให้พิจารณาดำเนินการต่อและลด 30% จากคะแนนของคุณ