2010年11月25日

PHP 〜フォームでのデータ受取り〜

【この課での目標】

PHP 〜データ受取り・XSS対策〜

【教材範囲】

http://y-mahata.s-tanno.com/pukiwiki/?10_weeks_webdev_learninng
※4週目

【成果物】

http://programming.so.land.to/20101124-4.html
※firefoxで動作確認。
※セキュリティが機能していないフォームなので、本物の個人情報は入れないようにお願いします。

【つまづいた箇所・解決法】

送り先の名前を統一する必要に気付かなかった

【未解決の悩み】

チェックボックスで複数情報送信する方法
→調べてみたところforあたりを使うみたいだけどとりあえず後回し。

【ソース】

※タグの囲み(<)を半角から全角に置換してあります。

〜HTML〜

<html>
<head>
<title>2010/11/24 C</title>
</head>
<body>
<p><b>Q:その他のフォーム要素のサンプルファイルを作成してください</b></p>
<form action="post_to.php" method="post">
名前:<input type="text" name="name" /><br />
メールアドレス:<input type="text" name="mail" /><br />
お問い合わせ:<textarea name="inquiry" /></textarea><br />
<br>
<u>PHP勉強したい?</u><br>
<form name="form" action="post_to.php" method="post">
<input name="radiobutton" type="radio" value="したい">したい<br>
<input name="radiobutton" type="radio" value="したくない">したくない<br>
<input name="radiobutton" type="radio" value="どちらでもない">どちらでもない<br>
<br>
<u>どの麺類が好き?</u><br>
<form name="form1" action="post_to.php" method="post">
うどん<input type="checkbox" name="check" value="うどん"><br>
そば<input type="checkbox" name="check" value="そば"><br>
ラーメン<input type="checkbox" name="check" value="ラーメン"><br>
<br>
<u>今なにがしたい?</u><br>
<form name="form2" action="post_to.php" method="post">
<select name="select">
<option>選択してください</option>
<option value="外に出たい">外に出たい</option>
<option value="空を飛びたい">空を飛びたい</option>
<option value="部屋に帰りたい">部屋に帰りたい</option>
<option value="泳ぎたい">泳ぎたい</option>
</select><br>
<br>
<input type="submit" name="Submit" value="送信">
</form>
<br>
<p><b>Q:XSS を実行できるフォームを作成し、実際にXSSを行ってください。</b></p>
<script>alert("test")</script>

<p><b>Q:どうすれば XSS を解消できるか考えてみてください。</b></p>
<?php
$js_code = '<script type="text/javascript">alert("alert!!");</script>';<br>
echo htmlspecialchars($js_code, ENT_QUOTES, 'UTF-8'));
?><br>
と表記する
</body>
</html>

〜PHP〜

<html>
<head>
<title>データ受取り</title>
</head>
<body>

<?php

var_dump($_POST);
echo "<br /\n>" . "<br />\n";
echo "名前: " . $_POST["name"] . "<br />\n";
echo "メールアドレス: " . $_POST["mail"] . "<br />\n";
echo "お問い合わせ: " . $_POST["inquiry"] . "<br />\n";
echo "PHP勉強したい?: " . $_POST["radiobutton"] . "<br />\n";
echo "どの麺類が好き?: " . $_POST["check"] . "<br />\n";
echo "今何がしたい?: " . $_POST["select"] . "<br />\n";

?>

</body>
</html>
posted by yuuya1986 at 01:34| Comment(0) | PHP | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。