2013-02-22 69 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