在GET参数中传递正则表达式?

时间:2015-01-12 14:13:11

标签: regex http url

我有一个带有Mongo后端的RESTful API端点。我允许用户使用GET参数过滤他们的查询,例如获取网站上/about页面的分析:

/page-analytics?filter_by=pagePath:/about

我想扩展它以支持正则表达式过滤器,例如获取网站上/about以下所有网页的分析结果:

/page-analytics?filter_by=pagePath:/about/.*

最安全的方法是什么?我应该将正则表达式括在封闭标记内吗?我应该让用户传递URL转义变量吗?

我的要求如下:首先,我想编写后端代码来检查我们是否有一个有效的正则表达式,然后再将它传递给我的数据库。其次,我不希望用户传入的正则表达式被URL转义搞砸了。

问题的一个例子:我最初开始将所有正则表达式都用斜杠括起来,比如/^about/.*$/,但这不能很好地工作,因为我的服务器从URL中删除了斜杠。

如果有人有任何提示,我将非常感激。

0 个答案:

没有答案