2016-03-24 13 views
-4

私は一般的にもっと安全なphpファイルを作る方法を知りたいと思います。私は実際にはmysqliを使用しています。これは残念ながら最新のバージョンではありません。私はmysqli_escape_str ...()も入力フィールドにすべての文字列を入力しました。しかし、あなたは安全に関するいくつかのヒントを持っていますか?あなたがそれを知る必要があるなら、私はまたいくつかのアヤックスを使います。私はPHP全体をより安全にする方法はありますか?

+2

mysqli_escape_stringの使用を中止してください。変数に直接クエリを挿入するのではなく、パラメータ化されたクエリを使用する必要があります。 – JimL

+0

"コードをうまく書き込むにはどうすればいいですか?" Stack Overflowの質問に対しては遠すぎる*遠すぎる。 – David

答えて

1

これは巨大なテーマであり、現時点では使用しているものに依存しますが、その音によって、mysqliの代わりにPDOのようなものを提案します。プリペアドステートメントを適切に使用するとSQLインジェクション攻撃が不可能です。 AJAXに関しては、CSRFトークンを使用していることを確認できます。

ここでは多くのセキュリティリスクがあります:https://www.owasp.org/index.php/OWASP_Top_Ten_Cheat_Sheetとそれを軽減するいくつかの方法があります。

+0

mysqliも準備文をサポートしています – JimL

+0

ああ、知っておいてよかった:) – Chris

1

データベースでクエリを処理する場合、SQLインジェクションがないことを確認する必要があります。今あなたがすでにmysqli_escape_strを知っているので、私はあなたに何か良いことをお勧めします:prepared queriesを使用してください。 例:

$stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (:name, :value)"); 
$stmt->bindParam(':name', $name); 
$stmt->bindParam(':value', $value); 

// insert one row 
$name = 'one'; 
$value = 1; 
$stmt->execute(); 

// insert another row with different values 
$name = 'two'; 
$value = 2; 
$stmt->execute(); 
関連する問題