textarea
改行を保持しながらMySQLデータベースにデータを保存および取得するにはどうすればよいですか? ユーザーがクロスサイト スクリプティングや SQL インジェクション攻撃を実行できない最も安全な方法でそれを行うにはどうすればよいですか?
mysql_real_escape()
最初に関数を介してユーザーの入力データをフィルター処理しINSERT INTO
、次にデータベースをフィルター処理し、取得時にhtmlspecialchars()
関数を使用する必要がありますか?
データを安全に保存し、改行を維持する方法を知りたいだけです。誰かが私に次のような例を教えてくれることを願っています:
<?php
$con = mysql_connect(host,username,password);
mysql_select_db(contents_db);
//Filtering process to prevent SQL-Injection
$content = mysql_real_escape($_POST['content']);
mysql_query('INSERT INTO contents_db (content, time) VALUES ({$content},{time()}');
if(mysql_insert_id() > 1){
$query = mysql_query('SELECT * FROM contents_db ORDER BY time DESC LIMIT 1');
$text = mysql_fetch_object($query);
//Outputting process to preserve line-breaks
echo htmlspecialchars($text->content);
}
mysql_close($con);
?>
私の例がすでに正しい場合、それをさらに良く安全にする方法を誰か教えてもらえますか?