با استفاده از تابع preg_filter در PHP یک رشته یا آرایه هدرهای HTTP را طوری فیلتر کنید که مقدار هدر Authorization یا توکنهای API در خروجی به صورت ماسک (مثلاً چهار ستاره) نمایش داده شوند.
9.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:48 0.0
برای حل این مسئله از regex و تابع preg_filter استفاده کنید؛ الگوی سادهای مثل '/(Authorization:\s*)(\S+)/i' را میتوانید به عنوان الگو و '$1****' به عنوان جایگزین بدهید تا فقط مقدار هدر ماسک شود. توجه داشته باشید preg_filter فقط عناصر تغییر کرده را برمیگرداند (ممکن است null شود) پس اگر ورودی آرایه است قبل یا بعد از فراخوانی تابع وجود مقدار null را مدیریت کنید یا در صورت نیاز از preg_replace برای حفظ عناصر غیرتغییریافته استفاده کنید؛ حتما از delimiter و فلگهای مناسب (مثلاً /i برای نادیدهگرفتن حروف بزرگ/کوچک) استفاده کنید و از لاگکردن توکنهای واقعی اجتناب نمایید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
استفاده از preg_filter با الگوی '(Authorization:\s*)(\S+)' برای ماسک کردن مقدار هدرها روشی نسبتاً ساده است. اما توجه کنید که preg_filter تنها عناصر تغییر یافته را برمیگرداند و در صورت ورودی آرایهای ممکن است برخی آیتمها ناپدید شوند؛ در چنین مواردی بهتر است از preg_replace یا مدیریت خروجی برای حفظ ساختار استفاده کنید. حتما delimiter مناسب و پرچم i را به کار بگیرید تا همه نسخههای هدر ماسک شوند و از لاگ توکنهای واقعی خودداری کنید. در نهایت، مقدار ماسک شده (مثلاً ****) را برای نمایش یا ذخیره استفاده کنید تا از افشای اطلاعات حساس خودداری شود.
گزارش