我想为要在WAF中列入白名单的URL创建一个正则表达式。
对于子URL,例如:
http://www.example.com/wp-admin/admin-ajax.php?action=aks_expt
和
http://www.example.com/wp-admin/admin-ajax.php?action=aks_expt&aks_ex1m_expt=1
我想,我设法把regex放在了开头部分:
(https://www.|http://www.^[a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9](?:.[a-zA-Z]{2,})+$)
匹配到http://www.example.com或https://www.example.com
但我不确定如何为子链接:
/wp-admin/admin-ajax.php?action=aks_expt
和
/wp-admin/admin-ajax.php?action=aks_expt&aks_ex1m_expt=1
我无论如何都建了一个,但失败了:
https://www.|http://www.^[a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9](?:.[a-zA-Z]{2,})+$/wp-admin/admin-ajax.php?action=aks_expt
尝试以下正则表达式:
(?:https?://www.example.com)?/wp-admin/admin-ajax.php?action=aks_expt(?:&aks_ex1m_expt=1)?
演示
解释:
(?:https?://www.example.com)? match optional leading http/https
followed by domain
/wp-admin/admin-ajax.php?action=aks_expt mandatory path
(?:&aks_ex1m_expt=1)? optional query parameter