تحقق من سلسلة تحدي CAPTCHA باستخدام عنصر تحكم عرض CAPTCHA
استخدم عناصر تحكم عرض CAPTCHA لإنشاء سلسلة تحدي CAPTCHA، ثم تحقق منها عن طريق مطالبة المستخدم بإدخال ما يراه أو يسمعه. لعرض عنصر تحكم عرض CAPTCHA، يمكنك الرجوع إليه من ملف تعريف تقني مؤكد ذاتيا، ويجب عليك تعيين قيمة بيانات التعريف لملف التعريف setting.enableCaptchaChallenge
الفني المؤكد ذاتيا إلى true.
تظهر لقطة الشاشة عنصر تحكم عرض CAPTCHA الموضح في صفحة التسجيل:
يتم تحميل صفحة التسجيل باستخدام عنصر تحكم عرض CAPTCHA. ثم يقوم المستخدم بإدخال الأحرف التي يراها أو يسمعها. يرسل الزر إرسال رمز التحقق رمز التحقق إلى البريد الإلكتروني للمستخدم، وليس عنصر التحكم في عرض CAPTCHA، ولكنه يتسبب في التحقق من سلسلة تحدي CAPTCHA.
عناصر التحكم في عرض CAPTCHA
يلخص هذا الجدول العناصر التي يحتوي عليها عنصر تحكم عرض CAPTCHA.
العنصر | المطلوب | الوصف |
---|---|---|
UserInterfaceControlType | نعم | يجب أن تكون القيمة CaptchaControl. |
InputClaims | نعم | مطالبة واحدة أو أكثر مطلوبة كمدخل لتحديد نوع تحدي CAPTCHA وتحديد التحدي بشكل فريد. |
عرض الدعاوى | نعم | المطالبات التي سيتم عرضها للمستخدم مثل رمز تحدي CAPTCHA، أو التي يتم جمعها من المستخدم، مثل إدخال التعليمات البرمجية من قبل المستخدم |
OutputClaim | لا | أي مطالبة يتم إرجاعها إلى الصفحة المؤكدة ذاتيا بعد أن يكمل المستخدم عملية التحقق من التعليمات البرمجية ل CAPTCHA. |
الإجراءات | نعم | يحتوي عنصر تحكم عرض CAPTCHA على إجراءين، GetChallenge و VerifyChallenge. ينشئ إجراء GetChallenge ، ثم يعرض رمز تحدي CAPTCHA على واجهة المستخدم. يتحقق إجراء VerifyChallenge من رمز تحدي CAPTCHA الذي يقوم المستخدم بإدخاله. |
تعرض التعليمات البرمجية لمقتطف XML التالي مثالا على عنصر تحكم عرض CaptchaProvider:
<DisplayControls>
...
<DisplayControl Id="captchaControlChallengeCode" UserInterfaceControlType="CaptchaControl" DisplayName="Help us beat the bots">
<InputClaims>
<InputClaim ClaimTypeReferenceId="challengeType" />
<InputClaim ClaimTypeReferenceId="challengeId" />
</InputClaims>
<DisplayClaims>
<DisplayClaim ClaimTypeReferenceId="challengeType" ControlClaimType="ChallengeType" />
<DisplayClaim ClaimTypeReferenceId="challengeId" ControlClaimType="ChallengeId" />
<DisplayClaim ClaimTypeReferenceId="challengeString" ControlClaimType="ChallengeString" />
<DisplayClaim ClaimTypeReferenceId="captchaEntered" ControlClaimType="CaptchaEntered" />
</DisplayClaims>
<Actions>
<Action Id="GetChallenge">
<ValidationClaimsExchange>
<ValidationClaimsExchangeTechnicalProfile
TechnicalProfileReferenceId="HIP-GetChallenge" />
</ValidationClaimsExchange>
</Action>
<Action Id="VerifyChallenge">
<ValidationClaimsExchange>
<ValidationClaimsExchangeTechnicalProfile
TechnicalProfileReferenceId="HIP-VerifyChallenge" />
</ValidationClaimsExchange>
</Action>
</Actions>
</DisplayControl>
...
</DisplayControls>