PHPのセキュリティ関連の問題
PHPのセキュリティ問題
Web 開発を行う場合、セットアップ時に「クライアント データを決して信頼しない」という基本的なセキュリティ知識を誰もが知っていると思います。そして、php は型付けが弱い言語です。多くの人は開発プロセス中に型変換を無視しており、パラメータのフィルタリングは計り知れない結果に直接つながります。
フィルター機能を使用しない場合、次のような状況が発生する可能性があります。
データベースに (SQL) が挿入されます。システムのクラッシュ、システム データの損失、ユーザー情報の損失を直接引き起こす可能性があります。 Web サイトがハッキングされた場合、ファイルが処理されると、Web サイトのファイルが削除される可能性があります。
多くの人が PHP セーフ モードをオンにしておけばすべてがうまくいくと考えていることにも言及しておく価値があります。実際にはそうではありません。多くのインジェクターは正面を迂回し、側面攻撃を実行します。
?0×7e、0×27 およびその他の (ASCII コード) 文字列を引用符として使用すると、PHP はそれらをフィルターできません。インジェクションの一般的な方法は、機密データ情報を取得するためにパラメータに多くの mysql?sql 構文を追加することです。
経験値:
|
mysql information_schema.tables はすべてのユーザーに表示され、すべてのテーブル構造情報とデータベース情報を見つけることができます。
PHP オープン ソース システムは数多くあります。多くのオープン ソース システムには、誰もが知っているデータ構造と機密情報テーブルがあります。 (もちろん犯罪者も含まれます)
ここでいう機密情報とは、多くの場合、ユーザー情報や管理情報のことです。現在、md5 の徹底的な検索が常に行われています。 md5 で暗号化されたパスワードの多くは、依然として平文に復号化できます。
多くのシステムでは、対応するセキュリティの改善が行われています。
以下に一般的なメソッドを紹介します:
フィルター関数を使用して、php filter security filter function.md5(?md5(‘ユーザーパスワード’) . ‘秘密キー’) で暗号化結果を取得します。一般的に使用される PHP オープン ソース システムのバックグラウンドでは、ディレクトリ名を変更する必要があります。多くのシステム バックエンドは、admin をバックエンドの入り口として直接使用します。 phpmyadmin などのデータベース オペレーティング ソフトウェアを Web サイトの表示ディレクトリに配置しないでください。
待ってください。 。その理由は、現在、そのような管理端末をスキャンするためのスキャン ツールが多数存在しているためです。
以下は衝撃的な写真です
?
mysql インジェクション
?
mysql インジェクション
出典:?Martin Blog[http://www.blags.org/]
この記事のリンクアドレス:?http://www.blags.org/php-security-issue/
?

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











session_start()iscrucialinphpformangingusersions.1)itInitiateSanewsessionifnoneExists、2)resumesanexistingsession、および3)SetSessionCookieforcontinuityAcrossRequests、ApplicationslicationSliviseSlikeUserauthicationAnticatent。

MySQLでは、AlterTabletable_nameaddcolumnnew_columnvarchar(255)afterexisting_columnを使用してフィールドを追加し、andtabletable_namedopcolumncolumn_to_dropを使用してフィールドを削除します。フィールドを追加するときは、クエリのパフォーマンスとデータ構造を最適化する場所を指定する必要があります。フィールドを削除する前に、操作が不可逆的であることを確認する必要があります。オンラインDDL、バックアップデータ、テスト環境、および低負荷期間を使用したテーブル構造の変更は、パフォーマンスの最適化とベストプラクティスです。

MySQL関数は、データ処理と計算に使用できます。 1.基本的な使用には、文字列処理、日付計算、数学操作が含まれます。 2。高度な使用法には、複数の関数を組み合わせて複雑な操作を実装することが含まれます。 3.パフォーマンスの最適化では、Where句での機能の使用を回避し、GroupByおよび一時テーブルを使用する必要があります。

安全かつ徹底的にMySQLをアンインストールし、すべての残留ファイルをクリーンにするには、次の手順に従ってください。1。MySQLサービスを停止します。 2。MySQLパッケージをアンインストールします。 3.構成ファイルとデータディレクトリのクリーン。 4.アンインストールが徹底していることを確認します。

MySQLでデータを挿入するための効率的な方法には、次のものが含まれます。1。insertInto ...値構文、2。LoadDatainFileコマンドの使用、3。トランザクション処理の使用、4。バッチサイズの調整、5。Insurtignoreまたは挿入の使用...

Composerは、PHPの依存関係管理ツールであり、Composer.jsonファイルを介してプロジェクトの依存関係を管理しています。 1)依存関係情報を取得するためのComposer.jsonを解析する。 2)依存関係を解析して、依存性ツリーを形成します。 3)PackagistからVendorディレクトリへの依存関係をダウンロードしてインストールします。 4)Composer.Lockファイルを生成して、依存関係バージョンをロックして、チームの一貫性とプロジェクトの保守性を確保します。

MySQLがさまざまなプロジェクトで広く使用されている理由には、次のものがあります。1。複数のストレージエンジンをサポートする高性能とスケーラビリティ。 2。使いやすく、メンテナンス、シンプルな構成とリッチツール。 3。豊富なエコシステム、多数のコミュニティとサードパーティのツールサポートを魅了します。 4。複数のオペレーティングシステムに適したクロスプラットフォームサポート。

MySQLで文字セットと照合を構成する方法は次のとおりです。1。サーバーレベルでの文字セットとコレクションの設定:setNames'utf8 '; setCharacterSetutf8; setCollation_connection = 'utf8_general_ci'; 2。特定の文字セットと照合を使用するデータベースを作成します:createdatabaseexample_dbcharactersetutf8collateutf8_general_ci; 3.テーブルを作成するときに文字セットとコレクションを指定:createTableExample_table(idint
