最近看到很多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系统,明显没有做好解决这样的问题的准备。

blog spam