1

私は古いウェブサイトの維持を手伝おうとしています。

代わりに、クライアント側のメール アプリケーションを開いたはずの /mailto URI アドレスに対する誤った要求を受け取ります。以下は、今日のリクエストのうち 3 つに関する 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>

(個人的には、クライアント側の電子メール クライアントを開いて連絡先フォームの送信を実装することはありませんでした。また、フォームでテーブルを使用することもありませんでした。それらを置き換えることをお勧めします。)

どういうわけか、一部のブラウザーは、ユーザーがクライアントの電子メール アプリケーションを開く代わりにページを開こうとしているかのように解釈するようです。

サーバーへのこれらの不正なリクエストの原因と、それらに対して何ができるでしょうか?

4

2 に答える 2

1

これらの解釈は、自分のサイトやその他の一般的なスパムへのリンクを送信しようとする、誤動作しているスパムボットによって行われたことが判明しました。これまでのところ、この方法でフォームを送信しようとした実際のユーザーはいません。

于 2013-03-08T13:53:40.190 に答える
0

これによれば、 mailto アクションはクライアントのソフトウェアに依存するため、使用しないでください。私の推測では、誰かがあなたのフォームを投稿しましたが、彼らのブラウザーはフォームのアクションを理解せず、それを html として解析しようとします。

于 2013-02-22T12:04:17.390 に答える