我正在尝试帮助维护旧网站。虚假请求服务器上的邮件页面
我收到/ 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>
(就个人而言,我不会已经实现通过打开客户端的电子邮件客户端发送一个接触的形式,和我也会建议替换这些表格)
不知何故,某些浏览器似乎将此解释为好像用户想要打开页面而不是打开客户电子邮件应用程序。
什么导致这些不正确的请求到服务器,我能做些什么呢?
奇怪。我明白为什么会发生这种情况的唯一原因是mailto链接中的冒号在某些时候会被URL编码。你展示的是最终的HTML吗?没有任何类型的后处理? – 2013-02-22 11:57:03