1. SQL インジェクションとは何ですか? SQL インジェクションは、入力パラメータに SQL コードを追加し、それを SQL サーバーに渡して解析および実行する攻撃方法です。 2. それはどのようにして起こったのですか? ウェブ開発者は、すべての入力がサニタイズされていることを保証できない 攻撃者はSQLサーバーに送信された入力データを使用して実行可能なSQLコードを構築します。 データベースはセキュリティのために構成されていません 3. SQL の脆弱性を見つけるにはどうすればいいですか? Webアプリケーション内のすべての入力ポイントを識別する どのような種類のリクエストが例外をトリガーするかを理解していますか? (特殊文字 " または ') サーバー応答の異常を検出する 4. SQL インジェクション攻撃を実行するにはどうすればいいですか? デジタルインジェクション: id=1 または 1=1 の場合、tablename から * を選択します。 文字列の挿入: MySQL のコメント機能: # と -- の後の文字はコメントアウトされているため、どのようなパスワードを入力しても正しく照会できます。画像の説明を入力するにはここをクリックしてください 5. SQL インジェクションを防ぐにはどうすればいいですか? 入力形式を厳密にチェックします: is_numeric(var)、tp5検証を検証し、正規表現を使用して文字列が[A-Za-z]の範囲内であるかどうかを確認します。 エスケープ: addslashes(str), エスケープするためのmysqli_escape_string()関数 6.MySQLiのプリコンパイルメカニズム パラメータ化されたバインディング パラメータ化されたバインディングは、SQL インジェクションを防ぐもう 1 つの障壁です。 PHP MySQLi と PDO はどちらもこのような機能を提供します。たとえば、MySQLi では次のようにクエリを実行できます。 PDO はさらに便利です。たとえば、次のようになります。 以下もご興味があるかもしれません:
|
>>: Node.js でメモリ効率の高いアプリケーションを作成する方法
一つの環境Alibaba Cloud Server: CentOS 7.4 64 ビット (RedH...
MySQL メモリ テーブルと一時テーブルの使用メモリテーブル: セッション 1 $ mysql -...
かなり前の記事で、 -webkit-box-reflectプロパティについて説明しました。リフレクシ...
Vueに触れたばかりのパートナーの多くは、開発環境ではVueプロジェクトは正常であるが、パッケージ化...
・【シーン説明】 HTTP1.1 以降、HTTP プロトコルは永続的な接続 (長い接続とも呼ばれます...
MySQL は、マルチテーブルクエリを実行するときにエラーを報告します。 [SQL] SELECT ...
目次1. proxy と Object.defineProperty の利点2. プロキシ監視オブジ...
MySQLデータベースをインストールするa) MySQL ソースインストールパッケージをダウンロード...
Cudaがインストールされているかどうかを確認してくださいアナコンダプロンプトに入力nvcc -V...
JavaScript ではオブジェクトを走査する順序は固定されていないと聞いたことがある人もいるかも...
国務院は本日、新型コロナウイルス感染症との闘いで殉教した方々と犠牲者に対し、全国各民族人民の深い哀悼...
改訂版のプレビューこの記事は 3 日前に書かれたものです。先輩の同僚から改訂の提案をいくつかいただき...
この記事では、タブ切り替え効果を実現するためのJavaScriptの具体的なコードを参考までに紹介し...
はじめに<br />前回の記事「私の CSS アーキテクチャ コンセプト」では、公園で友...
画像をプルする root@EricZhou-MateBookProX: docker pull je...