对服务器上的mailto页面的虚假请求

时间:2013-02-22 11:53:52

标签: php mailto

我正在努力帮助维护一个旧网站。

我收到了/ 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:info@somedomain.com

[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:info@somedomain.com?subject=Helpme&body=Dear%20etc

为什么浏览器会尝试在服务器上打开这些URI而不是打开客户端电子邮件应用程序?

以下是一些示例html:

<a class="emailaddress" href="mailto:info@somedomain.com?subject=Helpme&body=Dear etc">Helpme</a>

这是另一种变体:

<FORM ACTION="mailto:info@somedomain.com" 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>

(就个人而言,我不打算通过打开客户端电子邮件客户端来发送联系表单,也不会在表单中使用表格。我建议更换这些表格。)

某些浏览器似乎解释了这一点,好像用户想要打开页面而不是打开客户端电子邮件应用程序。

是什么原因导致这些不正确的请求到服务器,我该怎么办?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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