調べたこと 第十一回

入力フォーム

例 <form method ="GET" action="kurumi.php">

       お名前<input type ="text" name="chiharuname">

とあると、name のところで入力された値を受け取ることができる。

で、kurumi.phpのほうで、

 <?php "亀井" .$_GET[chiharuname]. "さん"; ?>

とすると、例えば「ちはる」と入力していたら、亀井ちはるさん と表示される。

 

getメソッドなので、urlにも、?username=%8ER.......というふうに入力したデータが後ろに付いている表示になる。

 

入力値に < こんなのとか $こんなのとか を入れていいよというものにするには

HTMLエスケープをしたらいい。

<こんなのは→ &lt; という表記になる。

これをPHPでするときには、

$_GETの前に、htmlspecialchars を入力したらいい。

 

javascript のプログラムとして、<script>で囲まれた部分を実行できる機能があるから、もし、このHTMLエスケープをしない場合、入力フォームに<script>を入れてしまうと、ブラウザ側で実行できてしまうので、そのサイトでやり取りしている情報を盗み出すことが頭のいい人には簡単にできてしまう。

例え 

などなど、  XSSというらしい。

エスケープしておけば、このscriptが”&lt;script$gt;”という風になって、実行されないので安心。

                    

製作者がしないといけないこと。

(WAF は、ウェブクライアントとウェブサーバーの間に展開されるアプリケーションセキュリティ対策であり、一般的な形式のウェブトラフィックについて、すべてのリクエストとレスポンスを詳しく検査します。異常な悪意のあるトラフィックを特定して隔離またはブロックすることで、WAF は脅威がサーバーに到達するのを効果的に防ぎます。)

 

POSTについて

GETと似ているけど、違う点が

1,URLの末尾にデータがつかない

2, リロードしたら再送信するか確認メッセージが表示される。