2016-04-20 10 views
0

この質問は尋ねられて死に至ったと認識していますが、私のバリエーションは少し異なります。Webフォームからデータを準備してmysqlデータベースに挿入する

ユーザーからいくつかの文字列を取得するための小さなアプリケーションを作成しています。キャプチャされるすべてのデータは、単純なテキスト入力からのものです。このデータはPHPを使用してmysqlデータベースに保存されます。しかし、このトピックで尋ねられる他の質問とは異なり、このデータはcsvへのダウンロード以外には決して使用されません。 Webページには表示されず、スクリプトの実行にも使用されません。パスワードやログインなどはありません。このフォームはわずかな時間だけ存在し、ターゲットオーディエンスは数十人のローカルコミュニティです。

私の質問は、このアプリケーションの単純さのために、mysqli_real_escape_stringを使用してデータをクリーニングすると注入やその他の有害なアクションを防ぐのに十分であるということですか?

答えて

1

すべての入力内容(file_put_contents)をファイルに保存し、後でダウンロードするためにファイルパスを保存する必要があります。単純なタスクでデータベースを使用する必要はありません。

+0

私はこのシンプルで明白な解決策を完全に見落としたデータベースを含む他のフレームワークで私の作品のほとんどを行います。 – Paul

1

SQLインジェクションを防ぐための私の意見で最高の機能は次のとおりです。

htmlspecialchars(); 

あなたはPOSTメソッドを使用してフォームからこの情報を取得しているのであれば、次のコードは、あなたのために十分安全である必要があります。

$value1 = htmlspecialchars($_POST['value1']); 
$value2 = htmlspecialchars($_POST['value2']); 
$value3 = htmlspecialchars($_POST['value3']); 
//and so on 
0

私によれば、使用するためには、mysqli_real_escape_stringを使用する必要があります。また、セキュリティを強化するために、 "BLACKLISTED"キーワードを作成して配列し、mysqli_real_escape_stringの前に正規表現チェックを実行する必要があります。

関連する問題