検索
ホームページphp教程php手册動的 Web ページ内の PHP プログラム ファイルへの直接アクセスは許可されていません

特定の php ファイルを使用する必要があり、他のユーザーがこのファイルに直接アクセスできないようにするため、global.php などの他のインクルード ファイルにパラメーターを定義し、それがアクセスされるページ データの前に定義されているかどうかを判断できます。 php このパラメータが定義されていない場合、アクセスは禁止されます。

global.php で定義

テーブル>

このようなコードは、未定義の変数 [このファイルでは未定義であると言うべきです] などの多くのセキュリティ問題を解決できます。

しかし、これは脆弱性がローカルに組み込まれるまではほとんど意味がありません。たとえば、

以下は引用内容です:
以下为引用的内容:

define('ROOT','./');
?>
在data.php文件中判断:


//data.php
if (!defined("ROOT")) {
 echo "You Cannot Access This Script Directly, Have a Nice Day.";
 exit();
}
?>

define('ROOT','./');
?>
data.php ファイルで判断します:


//data.php
if (!define("ROOT")) {
echo "このスクリプトには直接アクセスできません。良い一日を。";
exit();
}
?

以下为引用的内容:

if ( !defined('ROOT') )
{
 die('Do not access this file directly.');
}
if ( !isset($root_path) )
{
 $root_path = './';
}
require_once($root_path . 'config.php');
?>

common.php ファイルのコードを見てみましょう:

テーブル>

!define('X') 制限がない場合、$root_path はここで定義されず、リモート インクルードになります。

そして、変更されたスクリプトには 2 つの更新によって引き起こされるローカル インクルージョンがあります -->include 攻撃を使用すると、このローカル インクルージョンの脆弱性を利用して common.php をインクルードし、ブレークスルーを引き起こすことができます。 ')、リモート包含に変換します。

以下は引用内容です:
if ( !define('ROOT') )
{
die('このファイルに直接アクセスしないでください。');
}
if ( !isset($root_path) )
{
$root_path = './';
}
require_once($root_path . 'config.php');?>

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

Video Face Swap

Video Face Swap

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

ホットツール

SublimeText3 Mac版

SublimeText3 Mac版

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

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境