در سال ۲۰۲۳، شرکت کلادفلر (Cloudflare) با راهاندازی ترنستایل (Turnstile)، چالش سمت کاربر مبتنی بر حفظ حریم خصوصی، خود را به عنوان ارائهدهنده سرویسهای بدون کپچا (free from CAPTCHAs) معرفی کرد. ترنستایل رایگان است، روی هر سایتی کار میکند (بدون نیاز به پروکسی کردن ترافیک از طریق کلادفلر) و هرگز از بازدیدکننده نمیخواهد پازلی را حل کند. اکنون، ما در حال راهاندازی ترنستایل اسپین (Turnstile Spin) هستیم که یک پیادهسازی سرتاسری و ایجنتمحور از ترنستایل است.
ترنستایل که در ابتدا با در نظر گرفتن برنامهنویسان ساخته شده بود، نیازمند یک پیادهسازی دو مرحلهای اولیه و درک توسعه فرانتاند و بکاند است. ابتدا، کد فرانتاند خود را برای رندر کردن ویجت ترنستایل تغییر میدهید؛ این کار به کلادفلر اجازه میدهد تا چالشهای سمت کاربر را اجرا کرده و یک توکن صادر کند. دوم، توکن را به Siteverify API ما ارسال (POST) میکنید، که توکن را تأیید کرده و متادیتایی را درباره موفقیت یا عدم موفقیت بازدیدکننده در عبور از چالش برمیگرداند. سپس میتوانید بر اساس این تصمیم عمل کنید، مانند مسدود کردن دکمه ورود تا زمانی که بازدیدکننده با موفقیت چالش ترنستایل را حل کند.
ترنستایل اکنون در یک روز کاری معمولی حدود سه میلیارد تأیید اعتبار را پردازش میکند و در یک هفته اخیر، بیش از ۲۳۰۰۰ حساب کاربری یک ویجت جدید در داشبورد کلادفلر ایجاد کردند. این استقبال سریع ما را بر آن داشت تا ارزیابی کنیم که چگونه میتوانیم به کاربران کمک کنیم تا اعتبارسنجی کامل ترنستایل را به طور یکپارچه به دست آورند. ترنستایل برای برنامهنویسان ساخته شده بود، اما تقاضا برای محافظت ساده در برابر رباتها بسیار فراتر از افرادی است که هر روز کد بکاند مینویسند. هوش مصنوعی شرایط را تغییر میدهد: به افراد بیشتری کمک میکند تا برنامهها را بسازند، در حالی که به مهاجمان راههای بیشتری برای خودکارسازی سوءاستفاده میدهد. ما میخواستیم همان فناوری، نصب صحیح ترنستایل را آسانتر کند.
ترنستایل اسپین پیادهسازی ما از این قابلیت جدید است. میتوانید از آن برای ایجاد ویجت، تعبیهاش روی سایت خود، و تعبیه Siteverify در توابع مربوطه در بکاند خود استفاده کنید، درست مانند زمانی که به صورت دستی این کار را انجام میدهید. اسپین همچنین ویجتهای به نادرستی نصب شده را اصلاح میکند و مهاجرتها از سایر ارائهدهندگان کپچا را مدیریت میکند. میتوانید آن را از داشبورد کلادفلر (Cloudflare dashboard) خود، از طریق رنگلر (Wrangler)، یا با چسباندن یک آدرس URL از مهارت عمومی (public skill) در ایجنت خود شروع کنید.
انطباق ترنستایل برای دوران ایجنتهای کدنویسی هوش مصنوعی
هنگامی که ما برای اولین بار ترنستایل را ساختیم، توسعه وب از یک الگوی مهندسی استاندارد پیروی میکرد: برنامهنویسان رابطهای سمت کاربر و منطق بکاند را با دست مینوشتند. راهاندازی ترنستایل به طور طبیعی منعکسکننده آن روند کاری دو مرحلهای بود.
امروزه، نحوه ساخت برنامههای وب به طور اساسی تغییر کرده است. ایجنتهای کدنویسی هوش مصنوعی اکنون به هر کسی، از مهندسان با تجربه گرفته تا سازندگان تازهکار، اجازه میدهند تا سایتهای کاربردی را در چند ثانیه راهاندازی کنند. با این حال، جریانهای کاری امنیتی طراحی شده برای توسعه دستی همیشه با ساخت مبتنی بر پرامپت همسو نیستند.
برای اینکه ترنستایل برای سازندگان هوش مصنوعی به اندازه توسعهدهندگان سنتی وب بیدردسر باشد، ما در حال معرفی پشتیبانی بومی از جریانهای کاری ایجنت هوش مصنوعی هستیم. اسپین به گونهای طراحی شده است که این کار را به طور خودکار انجام دهد. برای بررسی راهاندازی خود، صفحه ترنستایل را در حساب خود باز کنید. اگر یک ویجت بدون اعتبارسنجی بکاند ترافیک سرویسدهی کرده باشد، اقدام «رفع با اسپین» (Fix with Spin) را مشاهده خواهید کرد.
آشنایی با Turnstile Spin
ترنستایل اسپین راهاندازی دو بخشی را به یک جریان کاری هدایتشده با ایجنت کدنویسی شما تبدیل میکند. شما انتخاب میکنید که کجا میخواهید محافظت کنید، و ایجنت کد فرانتاند و بکاند مربوطه را پیدا میکند، برنامهای را پیشنهاد میدهد و منتظر تأیید شما میماند. سپس هر دو طرف ادغام را با هم کامل میکند. شخصی بدون تجربه بکاند میتواند راهاندازی را به درستی به پایان برساند، در حالی که یک توسعهدهنده با تجربه میتواند از کار تکراری صرفنظر کرده و مراحل گمشده را بگیرد.
اسپین کد برنامه شما را به کلادفلر ارسال نمیکند یا از کلادفلر نمیخواهد که آن را از راه دور تغییر دهد. ایجنتی که قبلاً استفاده میکنید، چه کلود کد (Claude Code)، کِرسور (Cursor)، کودکس (Codex) یا چیز دیگری، تغییرات تأیید شده را در پایگاه کد شما ایجاد میکند. تنها منبع جدید در حساب کلادفلر شما، ویجت ترنستایل است. اعتبارسنجی در بکاند شما، در کنار منطق برنامه که تصمیم میگیرد پس از یک چالش چه اتفاقی بیفتد، باقی میماند.
اسپین میتواند با هر یک از سه زمینهای که در پایگاه کد شما پیدا میکند سازگار شود:
۱. نصب تازه
هیچ کپچایی وجود ندارد. ایجنت ویجت را روی فرانتاند شما تعبیه میکند و Siteverify را از ابتدا به بکاند شما متصل میکند.
۲. بازیابی ویجت
کلادفلر تماسهای Siteverify را برای هر ویجت نظارت میکند و هر ویجتی که اعتبارسنجی سمت سرور نداشته باشد، یک بنر «رفع با اسپین» در داشبورد شما دریافت میکند. ایجنت از همان راز (secret) استفاده میکند و مرحله گمشده را به بکاند شما اضافه میکند، در حالی که ویجت به سرویسدهی ترافیک ادامه میدهد. این جریان پیش از این نوع بلیطهای پشتیبانی را که مردم قبلاً در مورد تنظیمات ترنستایل خود ارسال میکردند، پیشبینی میکند.
۳. مهاجرت از کپچا
ایجنت نشانگرهای موجود را شناسایی میکند، یک برنامه جایگزینی پیشنهاد میدهد و پس از تأیید شما آن را اعمال میکند. مسیرهای مهاجرت ترنستایل موجود در اسناد همچنان جزئیات خاص ابزار را پوشش میدهند.
میتوانید اسپین را از داشبورد، کلادفلر رنگلر (Cloudflare Wrangler)، یا مستقیماً از طریق مهارت ما (our skill) به ایجنت خود شروع کنید. معمولاً ترکیبی از هر سه را استفاده خواهید کرد، با شروع از داشبورد و چسباندن مهارت به ایجنت خود، که از رنگلر برای تسهیل مراحل برای شما استفاده میکند.
نتایج اولیه
مردم به محض رسیدن اسپین به داشبورد، استفاده از آن را آغاز کردند. از زمان انتشار آن در ماه جولای، داشبورد بیش از ۶۵۰۰۰ ایجاد موفقیتآمیز ویجت اسپین را ثبت کرده است و توسعهدهندگان بیش از ۳۰۰۰۰ بار پرامپت تولید شده را کپی کردهاند. این پذیرش سریع نشان داده است که آوردن ترنستایل به طور مستقیم به جریانهای کاری هوش مصنوعی، یک نیاز واقعی و فوری را برای سازندگان برآورده میکند.
این نتایج همچنین بزرگترین درسی را که هنگام ساخت اسپین به عنوان کارآموز آموختم منعکس میکند: یک ایده بصری همچنان به زمان، بازخورد و سادهسازی مکرر نیاز دارد. در اوایل دوره کارآموزیام، برایان بکر (Bryan Becker) به من توصیه کرد که کار را قبل از اینکه تمام شده به نظر برسد به اشتراک بگذارم، و مارینا المور (Marina Elmore) هر زمان که پاسخ را بیش از حد پیچیده میکردم، مرا به سمت سوال مشتری بازمیگرداند. من با نشان دادن نسخههای اولیه به صورت زودهنگام، آزمایش آنها با تیم و حذف تا حد امکان مراحل در مسیر امنیت سادهتر برای مشتریمان، آن توصیه را دنبال کردم.
امروز ترنستایل را از طریق Spin امتحان کنید
ترنستایل برای همه رایگان است، بنابراین Spin را امتحان کنید تا ویجتهای ترنستایل را در چند دقیقه مستقر یا اصلاح کنید. اگر حساب کلادفلر ندارید، میتوانید بدون تنظیمات بیشتر یکی ایجاد کنید. برای جزئیات بیشتر، اسناد (docs) را بررسی کنید و در ارسال بازخورد به ما تردید نکنید.
منبع: blog.cloudflare.com
