nginxでphpへのアクセスを禁止する方法
nginx禁止访问php的方法:1、配置nginx,禁止解析指定目录下的指定程序;2、将“location ~^/images/.*\.(php|php5|sh|pl|py)${deny all...}”语句放置在server标签内即可。
本教程操作环境:Windows7系统、PHP8.1版、Dell G3电脑。
nginx怎么禁止访问php?
nginx站点目录及文件URL访问控制
一、根据扩展名限制程序和文件访问
利用nginx配置禁止访问上传资源目录下的PHP、Shell、Perl、Python程序文件。
配置nginx,禁止解析指定目录下的指定程序。
location ~ ^/images/.*\.(php|php5|sh|pl|py)$ { deny all; } location ~ ^/static/.*\.(php|php5|sh|pl|py)$ { deny all; } location ~ ^/data/(attachment|avatar).*\.(php|php5)$ { deny all; }
对上述目录的限制必须写在nginx处理PHP服务配置的前面,如下:
放置在server标签内:
server { listen 80; server_name www.dmtest.com; location / { root html; index index.php index.html index.htm; } location ~ ^/images/.*\.(php|php5|sh|pl|py)$ { deny all; } location ~ ^/static/.*\.(php|php5|sh|pl|py)$ { deny all; } location ~ ^/data/(attachment|avatar).*\.(php|php5)$ { deny all; } ...... ...... }
nginx下配置禁止访问*.txt和*.doc文件
配置如下:
放置在server标签内:
location ~* \.(txt|doc)$ { if (-f $request_filename) { root /data/www/www; #rewrite ... #可以重定向到某个URL; break; } } location ~* \.(txt|doc)$ { root /data/www/www; deny all; }
二、禁止访问指定目录下的所有文件和目录
配置禁止党文指定的单个或多个目录。
禁止访问单个目录的命令如下:
放置在server标签内:
location ~ ^/(static)/ { deny all; } location ~ ^/static { deny all; }
禁止访问多个目录的配置如下:
location ~ ^/(static|js) { deny all; }
禁止访问目录并返回指定的http状态码,配置如下:
放置在server标签内:
server { listen 80; server_name www.dmtest.com; location / { root html; index index.php index.html index.htm; } location /admin/ { return 404; } #访问admin目录返回404; location /templates/ { return 403; } #访问templates目录返回403 location ~ ^/images/.*\.(php|php5|sh|pl|py)$ { deny all; }
作用:禁止访问目录下的指定文件或者禁止访问指定目录下的所有内容。
三、限制网站来源IP访问
禁止目录让外界访问,但允许某IP访问该目录且支持PHP解析,配置如下:
在server标签内配置如下:
location ~ ^/mysql_loging/ { allow 192.168.0.4; deny all; } location ~ .*\.(php|php5)?$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; }
说明:该配置只允许192.168.0.4IP访问mysql_loging目录
限制IP或IP段访问,配置如下:
添加在server标签内:
location / { deny 192.168.0.4; allow 192.168.1.0/16; allow 10.0.0.0/24; deny all; }
说明:此限制是对某些IP做整个网站的限制访问。
nginx做反向代理的时候也可以限制客户端IP,具体如下:
方法1:使用if来控制,配置如下:
if ( $remoteaddr = 10.0.0.7 ) { return 403; } if ( $remoteaddr = 218.247.17.130 ) { set $allow_access_root 'ture'; }
方法2:利用deny和allow只允许IP访问,配置如下:
location / { root html/blog; index index.php index.html index.htm; allow 10.0.0.7; deny all; }
方法3:只拒绝某些IP访问,配置如下:
location / { root html/blog; index indx.php index.html index.htm; deny 10.0.0.7; allow all; }
注意事项:
deny一定要加一个IP,否者会直接跳转到403,不在往下执行了,如果403默认页在同一域名下,会造成死循环访问。
对于allow的IP段,从允许访问的段位从小到大排列,如127.0.0.0/24的下面才能是10.10.0.0/16,其中:
24表示子网掩码:255.255.255.0
16表示子网掩码:255.255.0.0
8表示子网掩码:255.0.0.0
以deny all; 结尾,表示除了上面允许的,其他的都禁止。如:
deny 192.168.1.1; allow 127.0.0.0/24; allow 192.168.0.0/16; allow 10.10.0.0/8; deny all;
四、配置nginx,禁止非法域名解析访问企业网站
方法1:让使用IP访问网站的用户,或恶意接卸域名的用户,收到501错误,配置如下:
server { listen 80 default_server; server_name _; return 501; }
方法2:通过301跳转主页,配置如下:
server { listen 80 default_server; server_name _; rewrite ^(.*) http://www.dmtest.com/$1 permanent; }
方法3:发现某域名恶意解析到公司的服务器IP,在server标签里添加以下代码即可,若有多个server要多处添加。
if ($host !~ ^www/.dmtest/.com$) { rewrite ^(.*) http://www.dmtest.com.com$1 permanent; }
推荐学习:《PHP视频教程》
以上がnginxでphpへのアクセスを禁止する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

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

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

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

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

ホットトピック









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

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

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

WordPressサイトファイルアクセスが制限されています:最近.txtファイルにアクセスできない理由のトラブルシューティング。一部のユーザーは、ミニプログラムのビジネスドメイン名を構成する際に問題に遭遇しました:�...
