برخی از فرم ها دارای فیلدهایی در iframes هستند که باعث ایجاد مشکل برای تکمیل خودکار مرورگر می شود. با تکمیل خودکار مشترک، قاب والد میتواند قابلیت اطمینان iframeهای متقاطع را مشخص کند تا از تجربه تکمیل خودکار بهتر برای کاربر پشتیبانی کند.
پیشنهادی برای مجاز کردن تکمیل خودکار به یک iframe متقاطع برای آزمایش در دسترس است. با استفاده از این ویژگی، یک فریم والد میتواند فریمهایی را که فیلدهای آنها باید قابلیت تکمیل خودکار داشته باشد را مشخص کند. این به ویژه برای فرمهای پرداخت مفید است، جایی که بسیار رایج است که فیلدهای حساس (برای انطباق با PCI DSS ) از یک منبع شخص ثالث مانند ارائهدهنده خدمات پرداخت (PSP) بارگیری شوند.
در مثال زیر، نام دارنده کارت و تاریخ انقضا در صفحه سطح بالا (یا فریم اصلی) قرار دارد، اما شماره کارت اعتباری و کد تأیید به صورت iframe از یک PSP هستند.
<!-- Top-level document URL: https://merchant.com/... -->
<form>
Cardholder name: <input id="name">
Credit card number: <iframe src="https://psp.com/..."><input id="num"></iframe>
Expiration date: <input id="exp">
CVC: <iframe src="https://psp.com/..."><input id="cvc"></iframe>
</form>
نمودار زیر ساختار فرم را نشان می دهد:
برای بازرگانان، این طرح ترکیبی از امنیت و انعطاف پذیری است:
- iframe های متقاطع داده های پرداخت حساس را از زیرساخت تاجر جدا می کنند که به انطباق PCI DSS کمک می کند.
- فیلدهای فرم در فریم های مختلف را می توان مرتب کرد و به گونه ای طراحی کرد که با ظاهر و احساس وب سایت تجاری مطابقت داشته باشد.
از منظر مرورگر، این بدان معنی است که موارد استفاده معمول و قانونی برای فرمهای چند فریمی وجود دارد که سؤالاتی را در مورد مدل امنیتی برای فرمها ایجاد میکند. برای کاربران، فرمهای چند فریمی میتوانند منجر به تجربه تکمیل خودکار ضعیف شوند، مانند مثال زیر:
خط مشی مبدأ یکسان یک خط پایه ثابت برای تکمیل خودکار در فریمها است، اما جزئیات کافی را برای مرورگر فراهم نمیکند تا بین قابهای قابل اعتماد و غیرقابل اعتماد برای تکمیل خودکار تمایز قائل شود.
برای اجازه دادن به تجربه تکمیل خودکار بهتر و در عین حال حفظ ایمنی دادههای کاربر، تیم Chrome در حال کار بر روی پیشنهادی است که امکان تکمیل خودکار را در یک iframe متقاطع میدهد. اگر فرم برای استفاده از تکمیل خودکار اشتراکگذاری شده تغییر کند، Chrome با موفقیت شماره کارت اعتباری را پر میکند:
<!-- Top-level document URL: https://merchant.com/... -->
<form>
Cardholder name: <input id="name">
Credit card number: <iframe src="https://psp.com/..." allow="shared-autofill"><input id="num"></iframe>
Expiration date: <input id="exp">
CVC: <iframe src="https://psp.com/..." allow="shared-autofill"><input id="cvc"></iframe>
</form>
این می تواند منجر به تجربه تکمیل خودکار بهتری برای کاربر شود:
اشتراکگذاری خودکار را به صورت محلی امتحان کنید
با تنظیم پرچمها از خط فرمان، میتوانید تکمیل خودکار اشتراکگذاری شده را برای یک کاربر در Chrome 93.0.4577.0 و بالاتر روی دسکتاپ و تلفن همراه آزمایش کنید.
--flag-switches-begin --enable-features=AutofillAcrossIframes,AutofillSharedAutofill
شناسایی پشتیبانی از ویژگی ها
از کد زیر برای تشخیص موجود بودن ویژگی shared-autofill
استفاده کنید:
if (document.featurePolicy && document.featurePolicy
.features().includes('shared-autofill')) {
console.log('shared-autofill available!');
}
بعدش چی؟
اشتراکگذاری خودکار یک پیشنهاد اولیه برای افزودن ویژگی تکمیل خودکار به خطمشی مجوزها است. تیم Chrome در حال حاضر با سایر فروشندگان مرورگر کار می کند تا این پیشنهاد را بررسی کند. پیشنهادات بیشتر در مورد چگونگی افزایش تجربه کاربر برای تکمیل خودکار در سراسر iframe نیز مورد بحث است.
با پیشرفت در این پیشنهاد، به ارائه بهروزرسانیها ادامه میدهیم. در ضمن، اگر صفحه پرداختی دارید که در آن فیلدهای حساس <ورودی> (شماره کارت اعتباری، cvc) از یک ارائه دهنده شخص ثالث جاسازی شده است، با ما تماس بگیرید . ما دوست داریم بدانیم که آیا تکمیل خودکار مشترک بین iframes میتواند تجربه تکمیل خودکار کاربران شما را در طول فرآیند تسویهحساب بهبود بخشد.
بیشتر بدانید
عکس جسیکا روسلو در Unsplash .