スレッド表示 | フラット表示〕 全トピック 920 件中 594 番目 次≫ ≪前

フォーム内での特殊文字の入力

created: 2004-06-12 11:36 | modified: 2004-06-12 14:08 | reply: 2

[1656] フォーム内での特殊文字の入力

user: ライオン | created: 2004-06-12 11:36
フォーム内で、特殊文字",',<,>を入力して、次の画面で表示すると円マークが表示されてしまいます。
入力→"test"
表示→\"test\"
php.iniの設定で回避できますでしょうか。
reply: 1657 返信 編集 削除

[1657] magic_quotes_gpc

user: hamaji | created: 2004-06-12 12:54
こんにちは。
これはPHPのmagic_quotes_gpcの機能によるものですね。

http://jp2.php.net/manual/ja/ref.info.php#ini.magic-quotes-gpc
http://ns1.php.gr.jp/pipermail/php-users/2002-December/012266.html

php.iniが変更できる環境ならば
; Magic quotes
;

; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = On

magic_quotes_gpc = On

magic_quotes_gpc = Off
にすると回避できると思います。

ただ、環境によっては、php.iniを自由に編集できないこともあるので、
そのときは以下のようにするとよいです。
function get_magic_quotes_gpc_ex($data) {
if (get_magic_quotes_gpc()) {
return stripslashes($data);
}
else {
return $data;
}
}


echo get_magic_quotes_gpc_ex($_POST['hoge']);
みたいな感じです。
http://jp2.php.net/manual/ja/function.get-magic-quotes-gpc.php
http://jp2.php.net/manual/ja/function.stripslashes.php
Parent: 1656  reply: 1658 返信 編集 削除

[1658] なるほど。

user: ライオン | created: 2004-06-12 14:08
hamajiさん。ありがとうございます。

確認しました。

入力時
strip_tags($_Post["test"])
表示時htmlspecialchars(stripslashes($_Post["test"]))

入出力処理で、チェック関数が増えましたが、セキュリティを考えるとはずせないということですね。
ありがとうございました。
Parent: 1657  返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 920 件中 594 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

最近更新したNote
PHPマニュアル
今日のブックマーク
PHPマニュアル関数検索
関数名を入力し検索ボタンをクリック↑