0

Name、および との連絡フォームがCompanyNameありEnquiryます。フィールドに html エンティティを含むフォームを送信するとき( OrEnquiryと言います)。またはのようにメールに表示されます。ここでは、両方の引用符がエスケープされています。そのエスケープスラッシュを削除するにはどうすればよいですか?<a href="link-to-page">Link</a><script>alert('Hello World!');</script><a href=\"link-to-page\">Link</a><script>alert(\'Hello World!\');</script>

以下にスニペットを添付します。

//I have used htmlspecialchars() to get the html entities in mail as it is.

$senderName  =  htmlspecialchars($_REQUEST['contactName'],ENT_QUOTES);
$senderCompany  = htmlspecialchars($_REQUEST['contactCompany'],ENT_QUOTES);
$senderEnquiry  = htmlspecialchars($_REQUEST['contactEnquiry'],ENT_QUOTES);
4

1 に答える 1

0

ヘッダーのコンテンツ タイプを text/html に設定するか、投稿中に値を確認してください。二重引用符と単一引用符の問題が原因だと思います。たとえば、以下のコードを参照してください:-

$new = htmlspecialchars("<script>alert(\'Hello World!\');</script>", ENT_QUOTES);
echo $new; // This will print output as <script>alert(\'Hello World!\');</script>

ただし、二重引用符のようにコードを変更する場合は、以下を参照してください:-

$new = htmlspecialchars("<script>alert(\"Hello World!\");</script>", ENT_QUOTES);
echo $new; // This will print output as <script>alert("Hello World!");</script>

したがって、投稿中に一重引用符と二重引用符の問題があるかどうかを確認してください

フォームによる価値の提供

于 2012-12-31T11:30:51.993 に答える