2013-02-22 66 views
1

我正在尝试帮助维护旧网站。虚假请求服务器上的邮件页面

我收到/ mailto应该打开客户端邮件应用程序的URI地址的虚假请求。这是大约三今天的请求的一些PHP数据:

[HTTP_USER_AGENT] => Opera/9.80 (Windows NT 6.1; WOW64) Presto/2.12.388 Version/12.10 
[REQUEST_URI] => /mailto:info%40somedomain.com 

[HTTP_USER_AGENT] => Opera/9.80 (Windows NT 6.1; WOW64) Presto/2.12.388 Version/12.10 
[REQUEST_URI] => /mailto:[email protected] 

[HTTP_USER_AGENT] => Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.21) Gecko/20100312 Firefox/3.6 
[REQUEST_URI] => /mailto:[email protected]?subject=Helpme&body=Dear%20etc 

浏览器为什么试图打开客户端的电子邮件应用程序中打开服务器上的这些URI呢?

下面是一些例子HTML:

<a class="emailaddress" href="mailto:[email protected]?subject=Helpme&body=Dear etc">Helpme</a> 

这里是另一种变体:

<FORM ACTION="mailto:[email protected]" METHOD="POST" ENCTYPE="text/plain"> 
    <table> 
    <TR> 
     <TD width="100">Name: </TD> 
     <TD> 
      <INPUT TYPE="text" NAME="name" SIZE="35"> 
     </TD> 
    </TR> 
    <TR> 
     <TD>Your Message</TD> 
     <TD> 
      <TEXTAREA NAME="text" COLS="35" ROWS="4"></TEXTAREA> 
     </TD> 
    </TR> 
    </table> 

    <input type="hidden" name="id" value="7180"> 
    <INPUT TYPE="submit" VALUE="Send"> 
    <INPUT TYPE="reset" VALUE="Reset"> 
</FORM> 

(就个人而言,我不会已经实现通过打开客户端的电子邮件客户端发送一个接触的形式,和我也会建议替换这些表格)

不知何故,某些浏览器似乎将此解释为好像用户想要打开页面而不是打开客户电子邮件应用程序。

什么导致这些不正确的请求到服务器,我能做些什么呢?

+0

奇怪。我明白为什么会发生这种情况的唯一原因是mailto链接中的冒号在某些时候会被URL编码。你展示的是最终的HTML吗?没有任何类型的后处理? – 2013-02-22 11:57:03

回答

1

事实证明,这些解释是由一些发生故障的垃圾邮件试图提交链接到他们的网站和其他垃圾邮件。到目前为止,没有真正的用户试图用这种方式提交表单。

+0

+1。是的,这就是我要给的答案;它几乎只有垃圾邮件机器人这样做。 – SDC 2013-03-08 14:01:02

0

根据this不应使用mailto操作,因为它取决于客户端上的软件。我的猜测是有人发布了你的表单,但他们的浏览器不理解表单动作,并试图将其解析为html。

+0

'mailto:'是一个协议(甚至是'whatever:'会是),如果浏览器根本不理解协议,甚至'http:' - 前缀链接都不起作用。我认为这对浏览器来说不太可能,除非它是从头开始开发的。 – eis 2013-03-08 13:58:01