ホームページ バックエンド開発 PHPチュートリアル PHP セキュリティの概要と一般原則

PHP セキュリティの概要と一般原則

Nov 22, 2016 am 10:52 AM
php PHPのセキュリティ

はじめに

PHP は、モジュールまたは CGI としてインストールされた場合でも、サーバー上のファイルにアクセスしたり、コマンドを実行したり、ネットワーク接続を作成したりできる強力な言語です。これらの機能により、サーバーに多くのセキュリティ上の危険要素が追加される可能性がありますが、PHP が正しくインストールおよび構成され、安全なコードが記述されている限り、PHP は Perl や C よりも安全な CGI プログラムを作成できます。また、使いやすさとセキュリティのバランスも考慮することが可能です。

PHP はさまざまな方法で使用できるため、PHP には簡単に設定できるオプションが組み込まれています。多数のオプションにより PHP は多くの作業を実行できるようになりますが、これらのオプションの設定とサーバーの構成によってセキュリティ上の問題が発生する可能性があります。

PHP のオプションは、その構文と同じくらい柔軟です。 PHP を使用すると、シェル ユーザー権限のみを持つ環境で完全なサーバー側プログラムを作成したり、PHP を使用して、あまりリスクを負うことなく、厳密に制限された環境でサーバー側インクルード (Server-Side include) を完了したりできます。このような環境をセットアップする方法とその安全性は、PHP 開発者に大きく依存します。

この章は、いくつかの一般的なセキュリティに関する提案から始まり、さまざまな環境でセキュリティを最大化する方法を説明し、さまざまなセキュリティ レベル向けのいくつかのプログラミング原則を紹介します。

一般

絶対に安全なシステムは存在しないため、セキュリティ業界で一般的に使用されている方法は、可用性とリスクのバランスを取るのに役立ちます。ユーザーが送信するすべての変数を二重検証することは責任ある行動かもしれませんが、その結果、ユーザーは複雑なフォームに記入するのに多くの時間を費やす必要が生じ、一部のユーザーがセキュリティを回避しようとする可能性があります。

最適なセキュリティメカニズムは、ユーザーの妨げにならず、開発の難易度も過度に高めることなくニーズを満たすことができるものでなければなりません。実際、このようにセキュリティが強化されすぎたシステムでは、セキュリティ上の問題が発生することがよくあります。

強度が等しいという有名な原則を忘れないでください。システムの強度は、そのシステムの最も弱いリンクによって決まります (バレルの原理と同等)。すべての取引が時間、場所、取引の種類に基づいて詳細に記録され、ユーザー認証が 1 つの Cookie のみに依存する場合、ユーザーの対応する取引記録の信頼性は大幅に弱まります。

コードをデバッグするときは、単純なページであっても、考えられるすべてのシナリオを検出するのは難しいことを必ず覚えておいてください。あなたに不満を抱いている従業員が、必ずしもあなたが望むものを入力するとは限らず、ハッカーもあなたのシステムを研究するのに十分な時間を持っています。もちろん、ペットの猫がキーボードに飛び乗るでしょう。このため、すべてのコードを検査して、不適切なデータが導入される可能性のある場所を発見し、コードを改善、簡略化、または強化する必要があるのです。

インターネットには、有名になってあなたの人生を楽しくするために、コードを破ったり、Web サイトを攻撃したり、怪しいデータを入力したりする人がたくさんいます。大規模な Web サイトでも小規模な Web サイトでも、インターネットに接続できればターゲットになります。多くのハッキング プログラムは Web サイトのサイズを気にせず、機械的に IP アドレスをスキャンして被害者を探すだけです。それがあなたではないことを祈ります。


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

この章では、CakePHP の環境変数、一般設定、データベース設定、電子メール設定について理解します。

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

この章では、ルーティングに関連する次のトピックを学習します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

See all articles