亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

阻止直接訪問php包含文件

阻止直接訪問php包含文件

PHP
catspeake 2019-07-03 14:13:33
阻止直接訪問php包含文件我有一個php文件,我將使用它作為一個包含。因此,我想拋出一個錯誤,而不是當它被直接訪問時執行它,輸入URL而不是包含它?;旧?,我需要在php文件中進行如下檢查:if ( $REQUEST_URL == $URL_OF_CURRENT_PAGE ) die ("Direct access not premitted");有什么簡單的方法嗎?
查看完整描述

3 回答

?
米脂

TA貢獻1836條經驗 獲得超3個贊

對于一般的“在Apache服務器上運行的PHP應用程序,您可能控制也可能不完全控制”情況下,最簡單的方法是將包含放在目錄中,并拒絕訪問.htaccess文件中的該目錄。為了避免Google搜索的麻煩,如果您正在使用Apache,請將它放在一個名為“.htaccess”的文件中,在您不希望被訪問的目錄中:

Deny from all

如果你真的完全控制了服務器(現在甚至比我第一次寫這個答案的時候更常見),最好的方法是把你想要保護的文件放在你的Web服務器正在服務的目錄之外。所以如果你的應用程序在/srv/YourApp/,將服務器設置為從/srv/YourApp/app/并把包括在/srv/YourApp/includes因此,實際上沒有任何URL可以訪問它們。


查看完整回答
反對 回復 2019-07-03
?
躍然一笑

TA貢獻1826條經驗 獲得超6個贊

將此添加到只希望包含的頁面中。

<?phpif(!defined('MyConst')) {
   die('Direct access not permitted');}?>

然后在包含它的頁面上添加

<?php
define('MyConst', TRUE);?>


查看完整回答
反對 回復 2019-07-03
?
飲歌長嘯

TA貢獻1951條經驗 獲得超3個贊

我有一個文件,當它被包含時,我需要采取不同的行動,而當它被直接訪問時(主要是一個print()VSreturn())下面是一些修改過的代碼:

if(count(get_included_files()) ==1) exit("Direct access not permitted.");

所訪問的文件始終是包含的文件,因此=1。


查看完整回答
反對 回復 2019-07-03
  • 3 回答
  • 0 關注
  • 400 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號