Get Mystery Box with random crypto!

Catastrophic Backtracking - Regex سلام. توی regex ،‌ این back | بنیاد پایتون کاران فارسی

Catastrophic Backtracking - Regex

سلام. توی regex ،‌ این backtracking میتونه به صورت چشم گیری تایم زیادی بگیره در حدی که حتی بعضی از engine ها ازش استفاده نمیکنن.
Backtracking:
Backtracking occurs when a regular expression pattern contains optional quantifiers or alternation constructs, and the regular expression engine returns to a previous saved state to continue its search for a match.

یه attack هم داریم به اسم ReDoS:
Regular Expression Denial Of Service
اگر اپلیکیشن شما از کاربر pattern رو میگیره کاربر میتونه با وارد کردن این مدل pattern ها سیستم رو برای مدتی از کار بندازه. از wikipedia میتونید توضیحات خیلی خوبی بخونید دربارش:
https://en.wikipedia.org/wiki/ReDoS

به این لینک از regex101 رسیدم جالب بود که تا ۲۰۰ step اول رو نشون داد چه اتفاقی میفته:
https://regex101.com/r/iXSKTs/1/debugger
اگر اپلیکیشن ای مینویسید که از یوزر pattern رو میگیره باید حواستون به این قضیه باشه.
@PyFarsi