مشاركة عبر


تحقق من سلسلة تحدي CAPTCHA باستخدام عنصر تحكم عرض CAPTCHA

استخدم عناصر تحكم عرض CAPTCHA لإنشاء سلسلة تحدي CAPTCHA، ثم تحقق منها عن طريق مطالبة المستخدم بإدخال ما يراه أو يسمعه. لعرض عنصر تحكم عرض CAPTCHA، يمكنك الرجوع إليه من ملف تعريف تقني مؤكد ذاتيا، ويجب عليك تعيين قيمة بيانات التعريف لملف التعريف setting.enableCaptchaChallenge الفني المؤكد ذاتيا إلى true.

تظهر لقطة الشاشة عنصر تحكم عرض CAPTCHA الموضح في صفحة التسجيل:

Screenshot of CAPTCHA as it appears in the sign-up page.

يتم تحميل صفحة التسجيل باستخدام عنصر تحكم عرض 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>

الخطوات التالية