PHP入門

安全なフォームの送受信

全334コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
フォームを送受信する場合、利用する人に悪意があると危険性のあるコードを送信されてしまうことなどがあります。それを防ぐファンクションが「htmlspecialchars」です。フォームを送受信する場合には、必ず利用するようにしましょう。
講師:
06:24

字幕

ここでは、安全なフォームの送受信ということで、フォームを作る時の注意点を紹介したいと思います。今、画面に表示されているのは、ある入力フォームです。「名前」を入力して「送信する」ボタンをクリックすることで、次の画面にその値を渡すことができます。しかし、このフォームは今、安全策が取られていませんので、例えば、ここに HTML のタグなどを含めてしまったとします。そして、この様に記述して送信すると、この様に、文字を大きくすることができてしまっています。これは文字を大きくしたりなどでしたら、それほど問題は無いのですが、ここに例えば JavaScript を仕込まれてしまったりですとか、クッキーを操作するようなスクリプトを組み込まれてしまったりなどで、個人情報が流出してしまったり、Web サーバーを壊されてしまったりなどが考えられます。そこで通常このようなフォームを作る時には必ず使いたいファンクションというのがあるんです。それを紹介していきましょう。では、まずはファイルを作っていきます。それでは MAMP のアップロード先フォルダ、MAMP フォルダの htdocs に新しいフォルダを1つ作ります。 ここでは lesson04-06 としまして、この中にテンプレートのファイル群をコピーします。そして index.html のファイルはそのままのファイル名で構いませんので、Dreamweaver にドラッグ&ドロップして開きます。そして、「安全なフォームの送受信」としまして、まずは、ここに form を1つ作ってみましょう。form の action 属性とmethod 属性を付けて、ここでは「名前」ということで、お名前を入力するテキストボックスを作りましょう。name としてはmyname となります。size としては35 として、これで完成になりますので、後はサブミットボタンを設置します。これの画面を、まずは表示してみましょう。MAMP を起動してApache が起動していることを確認したら、Web ブラウザから、今回は lesson04-06 ということで、画面を表示します。今、名前を入力する欄がありまして、「送信する」ボタンがあります。この「送信する」ボタンをクリックした時に受信するファイルというのを引き続き作っていきましょう。それでは「ファイル」>「新規」で新しいファイルを作って、「ページタイプ」を PHP「レイアウト」を「< なし 」にして、「ドキュメントタイプ」は適当なもので結構です。 「作成」を押して、中身は全て削除してしまって構いませんので、今作った index.html の内容をコピーしていきます。そして content の内容を削除して、ここに PHP を組み込んでいきましょう。ここでは、「あなたの名前は『』ですね」というメッセージを表示したいと思いますので、ここに php を組み込んでいきます。これまでですとprint というファンクションに$_POST['myname'] という様なかたちで記述する訳なんですが、ここに1つ、新しいファンクションを組み込んでいきます。htmlspecialchars として、ここにも、この様に )(括弧の閉じ)を入れてあげます。つまり、これは「$_POST の myname の値をhtmlspecialchars というファンクションにかけた上でprint で画面に表示する」というスクリプトです。では、これでどの様なことが起こるのか、実際に動きを確認してみましょう。このファイルを lesson04-06 にinput_do.php という名前で保存をします。そして index.html のaction 属性の所に今作った input_do.php というファイルを指定して、接続します。 その上で Web ブラウザからindex.html にアクセスをしましょう。「名前」の所にまずは名前を記入します。「送信する」ボタンをクリックすると、「あなたの名前は『たにぐち』ですね」と出るわけなんですが、ここで html を組み込んでみましょう。<p style を font size を150 % にしてみます。そして、「たにぐち」として、この情報を送信します。すると、先ほどと変わりまして、今回は、タグの内容がそのまま画面に表示されるようになりました。これは一体何が起こっているのかと言いますと、ページのソースを見ると、その内容が分かります。「あなたの名前は」という所に書かれている内容なんですが、全てのタグがいわゆる実体参照と言われる&lt; ですとか &gt;それから &quot; という様にタグとして認識してしまう記号を全て無害化、害の無いような形に変換しています。こうすることで、どの様なタグが打ち込まれたとしても、そのタグをブラウザに認識させることはできなくなりますので、JavaScript を書いたり、様々な危険性のあるコードを書かれたりということを防ぐことができます。 フォームを送受信する場合には、必ず、この htmlspecialchars というファンクションを使って各要素を無害化して画面に表示したり、または様々な処理に使うようにして下さい。

PHP入門

このコースでは動きのあるWebサイトでショッピング、友人との写真を共有、キーワードによる情報検索など便利な仕組みを作るための技術であるPHPについて解説します。これまでプログラミングに触れたことがない方でも、ちょっとしたプログラムを自分で作ることができるようになります。

4時間56分 (29 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
価格: 3,990
発売日:2014年01月29日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。