久久久久av_欧美日韩一区二区在线_国产精品三区四区_日韩中字在线

12下一頁
返回列表 發帖
查看: 8484|回復: 13

Discuz!教程之禁止用戶非法直接訪問后臺的方法!

83

主題

2786

回帖

3569

積分

功行圓滿

貢獻
23 點
金幣
351 個
樓主
發表于 2021-4-7 05:00:01 | 只看樓主 |倒序瀏覽 |閱讀模式


Discuz!默認的后臺路徑是 http://你的域名/admin.php

因此很多站長不希望后臺直接暴露出來讓一些不法用戶嘗試登陸后臺,造成一些安全隱患;

隱藏后臺路徑一般有兩種思路,第一種就是直接修改admin.php文件名稱,但是這種方式,前后臺要修改的文件比較多,包括所有第三方模版都要修改,而且還會造成有時候安裝插件無法再使用問題;新一代黑客木馬大都注意到修改admin.php名稱的說。

另一種思路,就是對admin.php增加訪問權限,這就是本文要講的方法,具體操作如下:


三種修改方法按需要選擇其中一種即可。

都是修改 admin.php文件

A、必須在前臺登錄了,才能訪問后臺

在 $discuz->init(); 下方加入代碼

  1. if(!$_G['uid']){
  2.     header('HTTP/1.1 404 Not Found');
  3.     header("status: 404 Not Found");
  4.     echo '404 Not Found';
  5.     exit;
  6. }
復制代碼


B、必須在前臺登錄了,且uid=1,才能訪問后臺

在 $discuz->init(); 下方加入代碼
  1. if($_G['uid']!=1){
  2.     header('HTTP/1.1 404 Not Found');
  3.     header("status: 404 Not Found");
  4.     echo '404 Not Found';
  5.     exit;
  6. }
復制代碼


C、必須在前臺登錄了,且uid在指定范圍,才能訪問后臺

在 $discuz->init(); 下方加入代碼
  1. $uids=array(1,2,3,99);
  2. if(in_array($_G['uid'],$uids)){
  3.     header('HTTP/1.1 404 Not Found');
  4.     header("status: 404 Not Found");
  5.     echo '404 Not Found';
  6.     exit;
  7. }
復制代碼


修改完成后,非法直接訪問后臺的用戶就直接報404錯誤了!

評分

參與人數 2貢獻 +1 金幣 +11 人氣 +1 收起 理由
志愿者 + 1 + 1 很給力!
dashen + 1 + 10 很給力!

查看全部評分

回復

使用道具 舉報

1

主題

24

回帖

216

積分

爐火純青

貢獻
0 點
金幣
134 個
沙發
發表于 2021-4-7 18:52:17 | 只看Ta
謝謝分享,用上了。
回復

使用道具 舉報

27

主題

73

回帖

124

積分

漸入佳境

貢獻
1 點
金幣
12 個
板凳
發表于 2021-4-8 20:01:50 | 只看Ta
謝謝分享
回復

使用道具 舉報

30

主題

131

回帖

178

積分

漸入佳境

貢獻
0 點
金幣
4 個
地板
發表于 2021-4-8 21:13:24 | 只看Ta
感謝分享,已經修改了。
回復

使用道具 舉報

1

主題

13

回帖

29

積分

初學乍練

貢獻
0 點
金幣
13 個
5#
發表于 2021-4-10 15:00:34 | 只看Ta
奇怪,使用第 3 種方法,UID 1 進入後臺還是報 404
回復

使用道具 舉報

83

主題

2786

回帖

3569

積分

功行圓滿

貢獻
23 點
金幣
351 個
6#
 樓主| 發表于 2021-4-10 17:06:44 | 只看Ta
Punkhippie 發表于 2021-4-10 06:00
奇怪,使用第 3 種方法,UID 1 進入後臺還是報 404

沒理由,檢查一下各有權限進后臺的 UID 才使用吧!
回復

使用道具 舉報

56

主題

1470

回帖

3萬

積分

管理員

貢獻
2074 點
金幣
1389 個
7#
發表于 2021-4-11 14:27:42 | 只看Ta
Punkhippie 發表于 2021-4-10 15:00
奇怪,使用第 3 種方法,UID 1 進入後臺還是報 404

代碼要放在 $discuz->init(); 的下邊,你可能放上邊了
回復

使用道具 舉報

10

主題

42

回帖

101

積分

漸入佳境

貢獻
1 點
金幣
30 個
8#
發表于 2021-4-21 16:18:13 | 只看Ta
本帖最后由 tkywr 于 2021-4-21 16:23 編輯
dashen 發表于 2021-4-11 14:27
代碼要放在 $discuz->init(); 的下邊,你可能放上邊了

確實是,放在下邊第三種方法也報錯。
不過修改了下第二種方法實現了第三種功能:
  1. if($_G['uid']!=1 && $_G['uid']!=2){
  2.     header('HTTP/1.1 404 Not Found');
  3.     header("status: 404 Not Found");
  4.     echo '404 Not Found';
  5.     exit;
  6. }
復制代碼


回復

使用道具 舉報

13

主題

89

回帖

125

積分

漸入佳境

貢獻
1 點
金幣
1 個
9#
發表于 2022-7-21 18:24:29 來自手機 | 只看Ta
allthebest 發表于 2021-4-10 17:06
沒理由,檢查一下各有權限進后臺的 UID 才使用吧!

第三種方法是不是邏輯錯了?
應該是not 搞成了有在列表的404

正確的:
$uids=array(1,2,3,99);
if !(in_array($_G['uid'],$uids)){
    header('HTTP/1.1 404 Not Found');
    header("status: 404 Not Found");
    echo '404 Not Found';
    exit;
}
回復

使用道具 舉報

19

主題

87

回帖

120

積分

漸入佳境

貢獻
0 點
金幣
6 個
QQ
10#
發表于 2022-8-14 22:55:18 | 只看Ta
感謝樓主分享 用上了
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

  • 關注公眾號
  • 有償服務微信
  • 有償服務QQ

手機版|小黑屋|Discuz! 官方交流社區 ( 皖ICP備16010102號 |皖公網安備34010302002376號 )|網站地圖|star

GMT+8, 2025-7-1 21:15 , Processed in 0.062156 second(s), 12 queries , Redis On.

Powered by Discuz! W1.0 Licensed

Cpoyright © 2001-2025 Discuz! Team.

關燈 在本版發帖
有償服務QQ
有償服務微信
返回頂部
快速回復 返回頂部 返回列表