در PHP تابعی بنویسید که مقدار هدر سفارشی X-API-KEY را با استفاده از filter_var و یک الگوی regex اعتبارسنجی و پاکسازی کند تا فقط کاراکترهای حروف و ارقام با طول دقیق 32 کاراکتر را بپذیرد و از تزریق CRLF جلوگیری کند.
2.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 02:10 0.0
تابع باید ابتدا مقدار را trim کند، وجود کاراکترهای خط جدید یا CRLF را بررسی و در صورت یافتن رد کند، سپس با filter_var و گزینه FILTER_VALIDATE_REGEXP و یک الگوی مانند '/^[A-Za-z0-9]{32}$/' مطابقت را چک کند؛ در صورت معتبر بودن مقدار پاکسازیشده را برگرداند در غیر این صورت false بازگرداند. نکتهٔ امنیتی: بررسی CRLF برای جلوگیری از header injection ضروری است و میتوانید در صورت نیاز از preg_match بجای filter_var استفاده کنید؛ پس از اعتبارسنجی امن از header() یا ارسال مقدار به سیستمهای دیگر استفاده کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
ایجاد تابعی که مقدار X-API-KEY را با trim بررسی کند و از تزریق CRLF جلوگیری کند، گامی کلیدی برای امنیت هدرهای HTTP است. استفاده از filter_var با FILTER_VALIDATE_REGEXP برای الگوی دقیق 32 کاراکتری از حروف و اعداد کارآمد است، هرچند گاهی استفاده از preg_match نیز میتواند برای کنترل دقیقتر مفید باشد. در صورت معتبر بودن مقدار، آن را بازگردانید و در غیر این صورت false بدهید تا مصرفکننده بداند ورودی نامعتبر است. قبل از ارسال به header() یا استفاده در سیستمهای دیگر، ورودی را دوباره بررسی و از هرگونه کاراکتر نامناسب پاکسازی کنید.
گزارش