最近看到很多Blog上都在讨论Blog Spammer的问题。
Comment Spam: 现状和对策 以及其中的留言都对这个问题进行了很深入的讨论。为了测试大家的理论的正确性,我自己写了一个Spam的软件,看看是否是真的可以做到这一点。
其实这样的程序是很简单的,为了简单起见,我使用了托管C++来写这个工具。
其实这样的工具是很简单的说,不过是大家没有时间做而已。我利用了RSS中提供的comment的键值找到当前可以进行评论的页面,然后用Web Browser控件实现提交即可。
其中可能还有些用处的就是对Rss文件的解析,在CodeProject上http://www.codeproject.com/csharp/rssframework.asp是一个CSharp的非常不错的工具,我么有必要用到那么多复杂的功能,我自己用MC++写了一段简单的代码:
Uri* myUri = new Uri(txtRss->Text);
// Create a new request to the above mentioned URL.
WebRequest* myWebRequest= WebRequest::Create(myUri);
// Assign the response object of 'WebRequest' to a 'WebResponse' variable.
WebResponse* myWebResponse = myWebRequest->GetResponse();
Stream *RssStream=myWebResponse->GetResponseStream();
Encoding* encode = System::Text::Encoding::GetEncoding(S"utf-8");
// Pipes the stream to a higher level stream reader with the required encoding format.
StreamReader* readStream = new StreamReader(RssStream, encode);
//read the return stream into an xml reader
XmlReader *xmlTextReader=new XmlTextReader(readStream);
然后针对XmlTextReader进行Parse就好了。对着一个现成的Rss文件,就知道该怎么办了。
至于这个工具,有兴趣的朋友可以自己写一个或者我们可以共同提高。不过需要注意的是,现在的Blog系统,明显没有做好解决这样的问题的准备。