ホームページ php教程 php手册 スクリプトセキュリティの本質_PHP MYSQL ページ 1/3

スクリプトセキュリティの本質_PHP MYSQL ページ 1/3

Jun 13, 2016 pm 12:26 PM
php+mysql 1つ 優れた コード 序文 存在する 安全性 レベル 応用 自然 レベル 脚本

問題の存在についての序文
コード レベル、つまりアプリケーション レベルから (つまり、基礎となる言語自体の脆弱性を考慮せずに) コード セキュリティを考慮すると、スクリプトのセキュリティ問題は次のようになります。関数と変数の問題。変数は、直接的または間接的にユーザーから安全でない入力を受け取ります。PHP 自体の特性により、この種の変数の混乱は PHP で発生しやすくなります (多くの PHP プログラムは、変数の定義、初期化、受け取りに使用されますが、これらの変数は変数の定義、初期化、受け取りに使用されます)。 $id などの変数の初期化は PHP の設定によって完全に完了します。注意しないと変数が混乱して攻撃につながる可能性があります。
変数が安全でない入力を受け取り、適切なフィルタリングなしでさまざまな場所で使用されると、さまざまな害を引き起こす可能性があります。データベースに直接入力してユーザーに表示すると、クロスサイト スクリプティング攻撃が発生します。SQL ステートメントで使用すると、SQL インジェクション攻撃が発生する可能性があります。これらの攻撃は、特定のスクリプトとは関係ありません。さまざまなスクリプト言語がすべて存在する可能性があります。 PHP 変数は非常に柔軟であるため、これらの有害な変数が一部の論理ステートメントで使用されると、認証失敗などの重要なコードのスキップや一部の変数の初期化のスキップが発生し、プログラム ロジックの混乱やその他の脆弱性が発生します。この変数が include などの危険な関数で使用された場合、fopen 関数で使用された場合はファイル インクルードの脆弱性が発生し、mysql_query 関数で使用された場合はファイル書き込みの脆弱性が発生する可能性があります。 SQL インジェクションの脆弱性、eval および preg_replace はコードの実行につながる可能性があり、htmlspecia 関数に出現するとエラーが発生する可能性があり、絶対パス リーク変数が出現する環境によってその可能性のある害が決まります。
問題の存在を考えた後、この種の脆弱性をコードレベルから確認するにはどうすればよいでしょうか?もちろん、PHP 言語に精通することが最も基本です。また、危険な関数に変数がある場合は、その変数のソース、正しく初期化されているか、機密文字を扱うことができるかどうかを把握する必要があります。初期化後にユーザーによって挿入されたこれらの機密文字は、関数に入る前に完全に消去されているかどうか。コードレビュー作業の難しさは、変数のソースを特定することにある可能性があります。これには、PHP の機能とレビューしているコードに精通している必要がありますが、変数のすべてのソースが明確に表示されるわけではなく、一部の初期化コードは、実行したときほど明確ではない場合があります。想像力を働かせて実行してください。変数内の一部は、取得したくない場所から取得されている可能性があります。また、一部の変数は、データベースまたはシステム構成ファイルから取得されている可能性がありますが、データベースと構成ファイルには、または、これらの変数は後で安全に操作されず、信頼できません。次にスクリプトコードの安全性を変数と関数の考え方に従って考えていきます。
2 変数はどこから来たのでしょうか?
1 表示された入力
変数はどこから来たのか? 実際、Web だけで考えた場合、どのような Web サイトが最も安全なのでしょうか。明らかに、静的な Html ページのみを提供する Web サイトが最も安全です。そのような Web サイトは、密閉された銀行を強盗するようなものですが、大規模なフォーラムやスクリプトの場合は実現が困難です。ログインするときは、ユーザー名やパスワードなどの変数をサーバーに渡す必要があります。これは、サーバーとの対話をキャプチャするプロセスによってもたらされます。投稿を投稿すると、プログラムによってキャプチャされます。送信されたフォームやアドレス バーのパラメータなど、ブラウザとサーバー間のデータ送信が表示される可能性がありますが、表示できないものには Cookie が含まれます。 、HTTP ヘッダーはすべて送信されたデータ、つまり変数です。これらの場所は、サーバーがデータを処理するための本来の入り口でもあります。では、PHP プログラムはどのようにして変数を受け入れるのでしょうか?送信されたすべての変数は、
$_GET
$_POST
$_COOKIE
$_FILES
$_SERVER
を含む、PHP によっていくつかの配列に保存されます。初期の利便性と柔軟性のために、このような配列があります。 PHP 設定のオプション
register_globals
このオプションがオンの場合、上に表示される変数は $GLOBALS のメンバーになり、スクリプト内で取得せずに直接使用でき、変数_順序
。多くのプログラムは register_globals がオフであるとみなしているため、プログラムの初期化時に次のコードを使用します。
@extract(daddslashes($_GET)); register_globals の役割も果たし、POST と GET の内容をグローバル変数として解放しますが、後述するように危険性がより大きくなる可能性があります。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

iPhoneのホーム画面から削除を元に戻す方法 iPhoneのホーム画面から削除を元に戻す方法 Apr 17, 2024 pm 07:37 PM

ホーム画面から重要なものを削除してしまい、元に戻そうとしていますか?さまざまな方法でアプリのアイコンを画面に戻すことができます。 iPhoneでホーム画面から削除を元に戻す方法 前述したように、iPhoneでこの変更を復元する方法はいくつかあります。方法 1 – App ライブラリのアプリ アイコンを置き換える App ライブラリから直接ホーム画面にアプリ アイコンを配置できます。ステップ 1 – 横にスワイプして、アプリ ライブラリ内のすべてのアプリを見つけます。ステップ 2 – 前に削除したアプリのアイコンを見つけます。ステップ 3 – アプリのアイコンをメインライブラリからホーム画面上の正しい場所にドラッグするだけです。これが応用図です

清華大学と Zhipu AI オープンソース GLM-4: 自然言語処理に新たな革命を起こす 清華大学と Zhipu AI オープンソース GLM-4: 自然言語処理に新たな革命を起こす Jun 12, 2024 pm 08:38 PM

2023 年 3 月 14 日に ChatGLM-6B が発売されて以来、GLM シリーズ モデルは幅広い注目と認知を得てきました。特にChatGLM3-6Bがオープンソース化されてからは、Zhipu AIが投入する第4世代モデルに対する開発者の期待が高まっている。 GLM-4-9B のリリースにより、この期待はついに完全に満たされました。 GLM-4-9B の誕生 小型モデル (10B 以下) により強力な機能を提供するために、GLM 技術チームはこの新しい第 4 世代 GLM シリーズ オープン ソース モデル、GLM-4-9B をほぼ半年の期間を経て発売しました。探検。このモデルは、精度を確保しながらモデルサイズを大幅に圧縮し、推論速度の高速化と効率化を実現しています。 GLM 技術チームの調査はまだ終わっていない

エージェントを一文で作成!ロビン・リー: 誰もが開発者になる時代が来る エージェントを一文で作成!ロビン・リー: 誰もが開発者になる時代が来る Apr 17, 2024 pm 02:28 PM

すべてを覆す大きなモデルが、ついに編集者の頭にたどり着いた。たった一文でできたエージェントでもあります。このように、彼に記事を与えると、1 秒以内に新鮮なタイトルの候補が出てきます。私と比較すると、この効率は稲妻のように速く、ナマケモノのように遅いとしか言​​いようがありません... さらに驚くべきことに、このエージェントの作成には実際には数分しかかからないということです。プロンプトは江おばさんのものです。そして、この破壊的な感覚も体験したい場合は、百度が立ち上げた新しいウェンシン インテリジェント エージェント プラットフォームに基づいて、誰でも無料で独自のインテリジェント アシスタントを作成できます。検索エンジン、スマート ハードウェア プラットフォーム、音声認識、地図、自動車、その他の Baidu モバイル エコロジー チャネルを使用して、より多くの人があなたの創造性を活用できるようにすることができます。ロビン・リー自身

Java フレームワークのセキュリティ アーキテクチャ設計は、ビジネス ニーズとどのようにバランスをとる必要がありますか? Java フレームワークのセキュリティ アーキテクチャ設計は、ビジネス ニーズとどのようにバランスをとる必要がありますか? Jun 04, 2024 pm 02:53 PM

Java フレームワーク設計では、セキュリティ ニーズとビジネス ニーズのバランスをとることでセキュリティを実現し、主要なビジネス ニーズを特定し、関連するセキュリティ要件に優先順位を付けます。柔軟なセキュリティ戦略を策定し、脅威に階層的に対応し、定期的に調整します。アーキテクチャの柔軟性を考慮し、ビジネスの進化をサポートし、抽象的なセキュリティ機能を考慮します。効率と可用性を優先し、セキュリティ対策を最適化し、可視性を向上させます。

Mistral オープン ソース コード モデルが王位を獲得します。 Codestral は 80 を超える言語でのトレーニングに熱心に取り組んでおり、国内の Tongyi 開発者が参加を求めています。 Mistral オープン ソース コード モデルが王位を獲得します。 Codestral は 80 を超える言語でのトレーニングに熱心に取り組んでおり、国内の Tongyi 開発者が参加を求めています。 Jun 08, 2024 pm 09:55 PM

51CTO Technology Stack (WeChat ID: blog51cto) が制作、Mistral は最初のコードモデル Codestral-22B をリリースしました!このモデルのすごいところは、多くのコード モデルが無視する Swift などを含む 80 以上のプログラミング言語でトレーニングされていることだけではありません。それらの速度はまったく同じではありません。 Go言語を使用して「パブリッシュ/サブスクライブ」システムを記述する必要があります。ここでは GPT-4o が出力されており、Codestral は、見るのが難しいほど高速で論文を提出しています。発売されたばかりのモデルのため、まだ公的テストは行われていない。しかし、Mistral の担当者によると、Codestral は現在最もパフォーマンスの高いオープンソース コード モデルであるとのことです。写真に興味のある友達は次の場所に移動できます: - 顔を抱きしめる: https

Struts 2 フレームワークのセキュリティ構成と強化 Struts 2 フレームワークのセキュリティ構成と強化 May 31, 2024 pm 10:53 PM

Struts2 アプリケーションを保護するには、次のセキュリティ構成を使用できます。 未使用の機能を無効にする コンテンツ タイプ チェックを有効にする 入力を検証する セキュリティ トークンを有効にする CSRF 攻撃を防ぐ RBAC を使用してロールベースのアクセスを制限する

PHP マイクロフレームワーク: Slim と Phalcon のセキュリティに関する議論 PHP マイクロフレームワーク: Slim と Phalcon のセキュリティに関する議論 Jun 04, 2024 am 09:28 AM

PHP マイクロフレームワークにおける Slim と Phalcon のセキュリティ比較では、Phalcon には CSRF および XSS 保護、フォーム検証などのセキュリティ機能が組み込まれていますが、Slim にはすぐに使用できるセキュリティ機能がなく、手動で実装する必要があります。セキュリティ対策。セキュリティ クリティカルなアプリケーションの場合、Phalcon はより包括的な保護を提供するため、より良い選択肢となります。

C++ での機械学習アルゴリズムの実装: セキュリティに関する考慮事項とベスト プラクティス C++ での機械学習アルゴリズムの実装: セキュリティに関する考慮事項とベスト プラクティス Jun 01, 2024 am 09:26 AM

C++ で機械学習アルゴリズムを実装する場合、データ プライバシー、モデルの改ざん、入力検証などのセキュリティを考慮することが重要です。ベスト プラクティスには、安全なライブラリの採用、権限の最小化、サンドボックスの使用、継続的な監視が含まれます。実際のケースでは、Botan ライブラリを使用して CNN モデルを暗号化および復号化し、安全なトレーニングと予測を確保する方法を示します。

See all articles