我正在做一个URL过滤项目。我有一个数据库给我,其中包含URL需要被阻止(例如: a.b.com/d/e)。
我从http请求中获取uri和域。我将我得到的东西与我的数据库进行比较,并且没有任何问题地重定向用户。到目前一切尚好。
问题开始于包含查询字符串的URL和其他与URL有关的魔术。例如,如果用户输入a.b.com/d/e?junk。我得到的与我的数据库不匹配,用户将绕过我的过滤器,他们仍然可以访问a.b.com/d/e。
我尝试了一些无用的操作,比如切分特殊字符后面的所有内容,比如"?,#“。但是在url上有问题,比如: youtube.com/watch?v=12vh55_1ul8,它的名字就像youtube.com/watch,屏蔽了所有youtube。这个解决方案给我带来了更多的问题。
现在我很困惑如何处理这个问题。有没有可以在C++中使用的指南或库?
发布于 2014-04-25 06:58:58
尝试以下代码:
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);
}https://stackoverflow.com/questions/23295876
复制相似问题