یک اسکریپت PHP بنویسید که مقدار هدر HTTP سفارشی "X-User-Token" را با استفاده از filter_input(INPUT_SERVER, 'HTTP_X_USER_TOKEN', FILTER_DEFAULT) بخواند و با یک عبارت منظم بررسی کند که فقط شامل حروف الفبا، اعداد، خط تیره و زیرخط باشد و طول آن بین 1 تا 64 کاراکتر باشد، در صورت معتبر بودن مقدار را نمایش دهد و در غیر این صورت پیام خطای مناسب برگرداند

13.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:40

0.0

برای حل این مسأله از filter_input با نوع INPUT_SERVER و فیلتر FILTER_DEFAULT برای خواندن هدر استفاده کنید (یا به صورت جایگزین از $_SERVER['HTTP_X_USER_TOKEN'] بهره ببرید)، سپس مقدار بازگردانده شده را با trim پاک‌سازی کرده و با preg_match و یک الگوی مانند /^[A-Za-z0-9_-]{1,64}$/ بررسی کنید. در صورت تطابق، مقدار را نمایش دهید و در غیر این صورت خطای معتبر نبودن یا عدم وجود هدر را برگردانید. نکات امنیتی: همیشه طول را محدود کنید تا از حملات تزریق هدر جلوگیری شود، از الگوی سخت‌گیرانه استفاده کنید و از توابع خروجی ایمن برای چاپ استفاده نمایید. FILTER_DEFAULT مقدار خام را برمی‌گرداند و برای اعتبارسنجی نهایی باید از regex استفاده شود.

توسط پژوهشگر در 201 روز قبل ساعت 03:40
دسته بندی ها: PHP PHP for beginner
arash در 201 روز قبل ساعت 05:39

استفاده از filter_input با INPUT_SERVER و کلید HTTP_X_USER_TOKEN مقدار خام هدر را برمی‌گرداند و باید با trim پاکسازی و با یک regex معتبر شود. الگوی /^[A-Za-z0-9_-]{1,64}$/ طول و کاراکترهای مجاز را به‌وضوح محدود می‌کند. اگر مقدار وجود داشت و با الگو مطابقت داشت، آن را نمایش دهید؛ در غیر این صورت پیام خطای مناسب بدهید. نکته امنیتی: خروجی را به شکل امن چاپ کنید و از جلوگیری از تزریق هدر استفاده کنید تا از حملات احتمالی حفاظت شود.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری