یک اسکریپت PHP بنویسید که هدر HTTP به نام "filter_id" را خوانده و مقدار آن را با یک عبارت منظم معتبرسازی کند تا تنها حروف انگلیسی، اعداد، زیرخط و خط تیره را قبول کرده و طول بین 8 تا 32 کاراکتر باشد و در صورت نامعتبر بودن هدر، پاسخ خطای مناسب برگرداند.
7.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:24 0.0
از توابعی مثل getallheaders() یا بررسی $_SERVER برای گرفتن هدر استفاده کنید و با preg_match('/^[A-Za-z0-9_-]{8,32}$/') مقدار را اعتبارسنجی کنید؛ در صورت معتبر بودن ادامه پردازش کنید و در غیر این صورت با header('HTTP/1.1 400 Bad Request') یا خروجی JSON خطا برگردانید. نکات امنیتی: مقدار هدر را مستقیم در خروجی چاپ نکنید، قبل از مقایسه با مقادیر ذخیرهشده از hash_equals برای جلوگیری از حملات زمانبندی استفاده کنید و پیامهای خطا اطلاعات حساس فاش نکنند.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای اعتبارسنجی هدر HTTP با نام filter_id، از getallheaders() یا بررسی $_SERVER استفاده کنید و مقدار را با regex /^[A-Za-z0-9_-]{8,32}$/ بررسی کنید. سپس نتیجه را با hash_equals مقایسه کنید تا حملات زمانبندی کاهش یابد و از چاپ مستقیم مقدار هدر در خروجی پرهیز کنید. در صورت نامعتبر بودن، کد وضعیت 400 Bad Request یا یک پاسخ JSON خطا با پیام غیر حساس برگردانید تا اطلاعات حساس افشا نشود. این رویکرد امنیتی کمک میکند تا ورودیها با کمترین افشا و با پاسخ مناسب مدیریت شوند.
گزارش