• ベストアンサー

サニタイジング

<html> <head> <meta http-equiv="content-type" content="text/html;CHARSET=UTF-8" /> <?php $kakushi = htmlspecialchars($_GET['password']); echo "パスワードは「1111」です。"; ?> これはサニタイジングできているのでしょうか?htmlspecialchars()使用です またhtmlのほyでサニタイジング可能でしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • shimix
  • ベストアンサー率54% (865/1590)
回答No.1

>これはサニタイジングできているのでしょうか? 何のためのサニタイジングでしょうか? $kakushiに関しては「html(の一部)としてブラウザに返しても問題ない」状態にはなっています。でも普通はブラウザに返す直前にhtmlspecialchars()します(二重に実行するとダメなタイプのエスケープなので「あらかじめやっておく」ことはしない)。 また、$_GETや$_POSTを受け取るスクリプトでは、最初にチェックした方がいいです。htmlを途中まで返してからエラーメッセージを出力というのも困りますよね。 <?php $kakushi = isset($_GET['password']) ? trim($_GET['password']) : ''; if ($kakushi === '') { エラー処理 } ?> <html> <head> ~~

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 文字化けについて

    <?php //文字化け $a = "あいうえお"; ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF8"> <title><?php echo $a;?></title> </head> </html> ========================================================== 宣言以前のマルチバイトに対する対策はどのようにしたら良いでしょうか?

    • 締切済み
    • PHP
  • サニタイジング

    <html&> <head> <meta http-equiv="content-type" content="text/html;CHARSET=UTF-8" /> <form action="radio.php" method="get"> <br><br>好きな動物は?<br> <input type="radio" name="animal" value="犬">犬 <input type="radio" name="animal" value="猫">猫 <br><br><input type="submit"> </form> これおサニタイジングするとなるとどういった文でできるでしょうか?

    • ベストアンサー
    • PHP
  • PHP でデータファイルを別にすると文字化け

    PHPの初心者ですが、文字化けで困っています。 index.php には以下の内容を入れています。 <?php include("ja.php"); echo '<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> <p>'.$WELCOME_TEXT.'</p> </body> </html>'; ?> ja.php には以下の内容を入れています。 <?php $WELCOME_TEXT = 'ようこそ'; ?> これでindex.phpを表示させても「????」と出るだけなのですが、どうすれば文字化けがなくなるのでしょう?どちらのファイルもUTF-8のエンコードで保存しています。

    • 締切済み
    • PHP
  • HTMLのソースで「↑」になっているのは?

    ソースを見たときに、以下のように↑で区切って表示されることがあります。 <html lang="ja">↑<head>↑<meta http-equiv="Content-Type" content="text/html; charset=utf-8">↑<title> 【質問1】これは、(1)わざと↑が入るようにしているのですか? それとも(2)勝手に↑で区切られてしまうのですか? 【質問2】このようなソースを、以下のような↑なしのソースに変換する方法ってあるのですか? <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>

  • 文字化けを解決したい

    サイトを持つ管理人です。タグなどについてはかなり初心者です。 iPhoneなどの海外OSから閲覧すると文字化けしてしまうという報告を受けて、タグを色々いじっています。 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">を追加してみたのですが、これ単品だと私のPCから閲覧したときに文字化けしてしまいました。 そのため<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">と<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">を並べてみたのですが、これで海外OSからも文字化けを起こさなくなったのでしょうか? こんな感じのタグです↓ <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <META NAME="GOOGLEBOT" CONTENT="NOINDEX, NOFOLLOW,NOARCHIVE"> <META NAME="ROBOTS" CONTENT="NOARCHIVE,NOINDEX,NOFOLLOW"> <meta name="viewport" content="width=380, maximum-scale=1.6" /> <title>練習</title> </head> 全てのスマホからもサイトを閲覧出来るようにするにはどうしたら良いでしょうか?それとも、全てのスマホから文字化けを防ぐことは不可能なのでしょうか? お知恵をお貸しください。

  • 文字コード

    HPを作る際は <meta http-equiv="content-type" content="text/html;charset=shift_jis"> と <meta http-equiv="content-type" content="text/html;charset=utf-8"> のどちらにすればいいのでしょうか?

    • ベストアンサー
    • HTML
  • PHP、どうして認識しないのですか?

    現在の私のサイト(shtml)のソースは次のとおりです(甲)。これを下記(乙)のように書き換えてアップしましたが”こんにちは”の文字が現れません。 レンタルサーバーの問題ですか?ソースの問題ですか? (甲) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML lang="ja"> <HEAD> <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" > <META http-equiv="Content-Script-Type" content="text/javascript"> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> <META NAME="ROBOTS" CONTENT="INDEX,FOLLOW"> <TITLE>○○○</TITLE> (乙) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <title>○○○</title> </head> <body> <!--shtmlのソースの中に次を挿入しました--> <p> <?php echo "こんにちは。<br />"; echo "こんにちは。<br />"; echo "こんにちは。<br />"; echo "こんにちは。<br />"; ?> </p> ----------------------- これが表示されません。 教えて下さい。どうしてですか? 宜しくお願いします。

    • ベストアンサー
    • PHP
  • PHPについて教えてください

    下記のindex.htmlとcheck.phpを別々にURLに入力すると正しく表示されるのですが 横の送信ボタンを押したときにcheck.phpにジャンプしてくれません どうしてでしょうか? index.html <DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>PHP基礎</title> </head> <body> <from method="post" action="check.php"> <input name="nickname" type="text" style="width:100px"> <input type="submit" value="送信"> </from> </body> </html> check.php <DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>PHP基礎</title> </head> <body> <?php print'ようこそ'; ?> </body> </html>

    • 締切済み
    • PHP
  • POSTされた値をEUCで表示したい

    <?php echo '<html><head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> </head> <body> <form action="test2.php" method="POST"> <input name="str1" value="テストです"> <input type="submit"> </form> </body></html>'; exit; } ?> こうして送信されたデータは <?php echo '<html><head> <meta http-equiv="Content-Type" content="text/html; charset=Shift-JIS"> </head><body>'; echo $_POST['str1']; ・・・・・ として表示しますが、このままのテストソースではSJISで普通に表示されますが、EUCで表示するにはWindowsの中のphp.iniを編集すればよいと思います。 どのようにすればよいですか? test2.phpが・ニ・ケ・ネ、ヌ、ケと表示したら成功です。

    • 締切済み
    • PHP
  • 何故動かないのでしょうか?

    <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>関数3/title> </head> <body> <?php //今日の日付を表示する $today = date("y年m月d日"); //HTML出力 echo $today; ?> </body> </html> 蒸気のプログラムが動かないのは何故でしょうか?

    • 締切済み
    • PHP
このQ&Aのポイント
  • 私はVPN環境下でスマホからサーバへの写真画像の自動保存について相談を受けました。ITスキルに疎い方々なので、簡単な方法を探しています。
  • 理想的な場合、Androidで撮影した写真が自動的にクラウドまたはサーバに保存され、事務員が画像ファイルをゲスト共有フォルダに振り分けることができ、更新通知メールが得意先に送信されるようなシステムを構築したいと考えています。
  • VPNの導入により、複数拠点間が一つのネットワークのような感覚で連携できるため、様々なランニングコストの削減も期待できます。質問記事には具体的な対応策は記載されていませんが、妙案を教えていただきたいと思います。
回答を見る

専門家に質問してみよう