با استفاده از PHP یک اسکریپت بنویسید که مقدار هدر HTTP_X_API_KEY را با filter_input بخواند و با یک عبارت منظم بررسی کند که تنها شامل حروف انگلیسی، ارقام، خط تیره یا زیرخط باشد و طول آن بین 10 تا 40 کاراکتر باشد، در صورت معتبر بودن کلید را نمایش دهد و در غیر این صورت پیام خطای مناسب برگرداند.
3.0 بازدید آخرین ویرایش در 203 روز قبل ساعت 02:39 0.0
برای حل، از filter_input(INPUT_SERVER, 'HTTP_X_API_KEY') برای دریافت هدر استفاده کنید، سپس با preg_match('/^[A-Za-z0-9_-]{10,40}$/') مقدار را اعتبارسنجی کنید؛ در صورت تطابق مقدار را نمایش و در غیر این صورت با ارسال وضعیت HTTP 400 پاسخ دهید. نکتههای امنیتی: هرگز هدرهای حساس را بدون بررسی کامل قبول نکنید، مقدار را قبل از لاگکردن پاکسازی یا محرمانه نگه دارید و از regex ساده و محدود برای جلوگیری از تزریق استفاده کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
استفاده از filter_input با INPUT_SERVER برای دریافت HTTP_X_API_KEY روشی امن و ساده است. با regex /^[A-Za-z0-9_-]{10,40}$/ باید فقط حروف انگلیسی، اعداد، خط تیره و زیرخط را قبول کنید. در صورت معتبر بودن کلید را نمایش بدهید و در غیر این صورت پاسخ HTTP 400 بدهید. هنگام لاگگیری مقدار خام را ننویسید یا حداقل ماسک کنید تا خطر درز دادهها کاهش یابد. وجود header را به صورت مناسب بررسی کنید تا خطاها به درستی گزارش شوند.
گزارش