解決tad_uploader網路硬碟模組的細部權限設定送出後顯示【抱歉,您沒有權限造訪該區域】的方法!!-教學撰寫:徐嘉裕Neil hsu

基本上tad_uploader模組功能上是沒問題了,細部權限設定power.php送出後傳值到modules/system/admin/groupperm.php,並帶上$modid數值做判斷,將數值寫入group_permission資料表,這一整段CODE都沒問題,但就是有些網站無法使用【細部權限設】功能,一送出就會顯示【抱歉,您沒有權限造訪該區域】,並返回首頁。


所設定的資料夾權限也並未更新,經過測試後發現如果是有建了大量的資料夾及大量的群組就會出現 Warning: Unknown: Input variables exceeded 1000. To increase the limit change max_input_vars in php.ini. in Unknown on line 0 錯誤,當然user是看不到的因為程式會返回首頁,除非管理員在groupperm.php程式頁面加上die():才會看到這段錯誤訊息,意思是【php 中執行過多的 POST變數更動時所產生的錯誤】

例如像下面這個網站細部權限設定中有那麼多資夾跟群組設定,



送出後一定會顯示【抱歉,您沒有權限造訪該區域】並返回首頁,因為php變數的數量已經超過max_input_vars預設的1000了。

解決方法如下:

方法1

修改php.ini方法,找到php.ini檔案,搜尋max_input_vars = 1000會看到以下的設定。

; How many GET/POST/COOKIE input variables may be accepted
; max_input_vars = 1000

吧max_input_vars前面的;註解拿掉,吧數值加大改成2000或3000!

; How many GET/POST/COOKIE input variables may be accepted
max_input_vars = 3000

然後重啟Apache,這樣細部權限設定的問題就能排除了。


方法2

虛擬主機或自己主機使用.htaccess設定值來修改主機php.ini設定方法

如果是自己的主機首先要確認.htaccess的使用功能有被啟用,找到以下的檔案,用筆記本打開httpd.conf

找到以下設定

<Directory "D:/xampp/htdocs">  //網站資料夾根目錄位置
        Options Indexes FollowSymLinks MultiViews ExecCGI
        AllowOverride All
        Order allow,deny
        Allow from all
</Directory>

AllowOverride改成All,然後重啟Apache後,於網站根目錄中置入一個.htaccess,用筆記本打開寫入以下的設定

php_value max_input_vars 3000  <-修改數值

然後儲存檔案,再來測試細部權限設定功能,一樣是超大量的資料夾跟很多個群組的網站,送出後已經顯示群組權限新增成功,沒有再出現抱歉,您沒有權限造訪該區域,細部權限設定功能可以正常使用了(灑花)。



教學撰寫: 徐嘉裕 Neil hsu

留言

這個網誌中的熱門文章

Xoops免費佈景:neilambilight2.5正式版釋出-佈景設計開發:徐嘉裕Neil hsu

Xoops免費佈景:neilambilight2.4正式版釋出-佈景設計開發:徐嘉裕 Neil hsu

在CentOS7上安裝XAMPP並設定允許外部連線phpmyadmin的方法-教學撰寫:徐嘉裕Neil hsu