前提
PHPでFORMを作成してます。
HTMLタグの入った内容を送信するフォームを作成しており、
HTMLタグがはいっているとエラーがでてしまうようです。
これを対処するにはどうすればよろしいでしょうか?
実現したいこと
- HTMLソースが入っていても送信できるようにしたい
発生している問題・エラーメッセージ
403 ERROR The request could not be satisfied. Request blocked. We can't connect to the server for this app or website at this time. There might be too much traffic or a configuration error. Try again later, or contact the app or website owner. If you provide content to customers through CloudFront, you can find steps to troubleshoot and help prevent this error by reviewing the CloudFront documentation. Generated by cloudfront (CloudFront) Request ID: -H5911pEKSTfAvo7TSINLRJTo71E_uV_6UFeY_ovTsUFE3414UUkbQ==
該当のソースコード
送信元のコード
PHP
1<form action="thx.php" method="POST"> 2 <table class="form"> 3 <tbody> 4 <tr> 5 <th>自己紹介</th> 6 <td><textarea name="txtData" rows="6">こんにちは!プロフィールは<a href="https://XXXXXXX.com">こちらを見てください</a></textarea> </td> 7 </tr> 8 <td colspan="2"> 9 <div class="linkBtn"> <input type="hidden" name="cmd" value="check"> <input type="submit" class="submit_btn" value="送信"> </div> 10 </td> 11 </tr> 12 </tbody> 13 </table> 14</form>
送信先のコードは以下になります。
PHP
1<table class="form"> 2<tbody> 3<tr> 4<th>自己紹介</th> 5<td><?= $_POST["txtData"]; ?></td> 6</tr> 7</tbody> 8</table> 9
送信先のコードはどのようになっていますか?
コメントありがとうございます。
送信先のコードは以下になります。
```PHP
<table class="form">
<tbody>
<tr>
<th>自己紹介</th>
<td><?= $_POST["txtData"]; ?></td>
</tr>
</tbody>
</table>
```
もしかして CloudFront の WAF が XSS を検出したのかも? サーバーのログを確認してみては。
環境情報提示してください。
質問は編集できます。
あと勘違いされてるようですが、エスケープしないと「HTMLタグがHTMLタグの役割」を果たしてしまうので、teratailの投稿フォームと同じになりません。
エスケープされるから「HTMLタグの役割が無効化されたそういう文字」として画面に表示されます。
回答2件
あなたの回答
tips
プレビュー