電子書籍の厳選無料作品が豊富!

プログラムを見ていて気になった点があります。

htmlspecialchars(mysql_real_escape_string(stripslashes($_POST["inp01"])),ENT_QUOTES)

上記の書き方の場合、処理される順番は
内から「stripslashes」→「mysql_real_escape_string」→「htmlspecialchars」になるんでしょうか?
逆に
外から「htmlspecialchars」→「mysql_real_escape_string」→「stripslashes」
でしょうか。

また処理の順番ですが、
「htmlspecialchars」→「stripslashes」→「mysql_real_escape_string」が正しい形でしょうか。

A 回答 (3件)

一つ目の質問については、皆さんが回答しているので省略します。



二つ目の質問の、正しい処理の順番について。

まず、stripslashesは、magic_quotes_gpc=Onの設定になっていない場合は不要です。Onになっている場合は、まずstripslashesします。
$inp01 = stripslashes($_POST["inp01"]);

DBに入れる際には、mysql_real_escape_stringします。
$sql = "select * from foo where inp01='". mysql_real_escape_string($inp01). "'";

HTMLに出力するときには、htmlspecialcharsします。
echo "<p>inp01は". htmlspecialchars($inp01, ENT_QUOTES). "です</p>\n";
    • good
    • 0

処理される順番は


「stripslashes」→「mysql_real_escape_string」→「htmlspecialchars」
で、
たぶん正しい処理の順序は
「stripslashes」→「htmlspecialchars」→「mysql_real_escape_string」
ですかね・・?
    • good
    • 0

前者です。

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!