我正在开发一个URL过滤项目。我有一个给我的数据库,其中包含需要阻止的URL(例如:a.b.com/d/e)。
我从http请求获取uri和域名。我比较了我的数据库和重定向用户没有任何问题。到现在为止还挺好。
问题从包含查询字符串和其他带有URL的魔法的网址开始。例如,如果用户输入a.b.com/d/e?junk。我赢得的不匹配我的数据库,用户将绕过我的过滤器,他们仍然可以去a.b.com/d/e。
我尝试了一些无用的动作,例如像#34;?,#"这样的特殊字符后切片。但是有网址问题:youtube.com/watch?v=12vh55_1ul8,它就像youtube.com/watch并阻止所有youtube。这个解决方案给我带来了更多问
现在我很困惑如何处理这个问题。我可以在C ++中使用任何指南或任何库吗?
答案 0 :(得分:0)
试试这段代码:
string str (get_requsted_uri());
string str2 ("http://getaroundfilters.com/article/889/proxy");
if (str.find(str2) != string::npos) {
block();
} else {
get_and_return_webpage(str);
}