LifeType 中文開發論壇

支援 => 安裝與設定精華區 => 主題作者是: guest 於 四月 15, 2005, 11:23:05 下午



主題: 沒有權限進入管理介面的問題
作者: guest四月 15, 2005, 11:23:05 下午
各位前輩
我在架好plog後用admin的身分登入後
進入    管理面版 » Allen's Blog » 內容管理 » 發表新文章
選擇任何功能(包含預覽要新增的文章)都會被踢出來回到
login畫面,並顯示"您目前沒有權限進入管理介面。請到這裡登入。"
的訊息
不知道是我哪裡有操作錯誤,還請各位先進幫忙,謝謝


主題: Re: 沒有權限進入管理介面的問題
作者: markwu四月 15, 2005, 11:26:28 下午
引用自: guest
各位前輩
我在架好plog後用admin的身分登入後
進入    管理面版 » Allen's Blog » 內容管理 » 發表新文章
選擇任何功能(包含預覽要新增的文章)都會被踢出來回到
login畫面,並顯示"您目前沒有權限進入管理介面。請到這裡登入。"
的訊息
不知道是我哪裡有操作錯誤,還請各位先進幫忙,謝謝


Allen 你的問題很清楚,可是你的系統『環境』描述的很不清楚,所以我只能用猜的!這是 session 的問題,通常是因為 session.save_path 沒設對,請看你 php.ini 中的設定對不對。

Mark


主題: 沒有權限進入管理介面的問題
作者: guest四月 16, 2005, 12:01:58 上午
Hello Mark

        真的是很謝謝你,你說的應該是沒錯,應該是我的session設定有問題
         
          以下是我的php.ini  session的設定不知道我那裡有設錯了....

[Session]
; Handler used to store/retrieve data.
session.save_handler = files

; Argument passed to save_handler.  In the case of files, this is the path
; where data files are stored. Note: Windows users have to change this
; variable in order to use PHP's session functions.
;
; As of PHP 4.0.1, you can define the path as:
;
;     session.save_path = "N;/path"
;
; where N is an integer.  Instead of storing all the session files in
; /path, what this will do is use subdirectories N-levels deep, and
; store the session data in those directories.  This is useful if you
; or your OS have problems with lots of files in one directory, and is
; a more efficient layout for servers that handle lots of sessions.
;
; NOTE 1: PHP will not create this directory structure automatically.
;         You can use the script in the ext/session dir for that purpose.
; NOTE 2: See the section on garbage collection below if you choose to
;         use subdirectories for session storage
;
; The file storage module creates files using mode 600 by default.
; You can change that by using
;
;     session.save_path = "N;MODE;/path"
;
; where MODE is the octal representation of the mode. Note that this
; does not overwrite the process's umask.
session.save_path = "c:/tmp"

; Whether to use cookies.
session.use_cookies = 1

; This option enables administrators to make their users invulnerable to
; attacks which involve passing session ids in URLs; defaults to 0.
; session.use_only_cookies = 1

; Name of the session (used as cookie name).
session.name = PHPSESSID

; Initialize session on request startup.
session.auto_start = 0

; Lifetime in seconds of cookie or, if 0, until browser is restarted.
session.cookie_lifetime = 0

; The path for which the cookie is valid.
session.cookie_path = c:/tmp

; The domain for which the cookie is valid.
session.cookie_domain =

; Handler used to serialize data.  php is the standard serializer of PHP.
session.serialize_handler = php

; Define the probability that the 'garbage collection' process is started
; on every session initialization.
; The probability is calculated by using gc_probability/gc_divisor,
; e.g. 1/100 means there is a 1% chance that the GC process starts
; on each request.

session.gc_probability = 1
session.gc_divisor     = 1000

; After this number of seconds, stored data will be seen as 'garbage' and
; cleaned up by the garbage collection process.
session.gc_maxlifetime = 1440

; NOTE: If you are using the subdirectory option for storing session files
;       (see session.save_path above), then garbage collection does *not*
;       happen automatically.  You will need to do your own garbage
;       collection through a shell script, cron entry, or some other method.
;       For example, the following script would is the equivalent of
;       setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
;          cd /path/to/sessions; find -cmin +24 | xargs rm

; PHP 4.2 and less have an undocumented feature/bug that allows you to
; to initialize a session variable in the global scope, albeit register_globals
; is disabled.  PHP 4.3 and later will warn you, if this feature is used.
; You can disable the feature and the warning separately. At this time,
; the warning is only displayed, if bug_compat_42 is enabled.

session.bug_compat_42 = 0
session.bug_compat_warn = 1

; Check HTTP Referer to invalidate externally stored URLs containing ids.
; HTTP_REFERER has to contain this substring for the session to be
; considered as valid.
session.referer_check =

; How many bytes to read from the file.
session.entropy_length = 0

; Specified here to create the session id.
session.entropy_file =

;session.entropy_length = 16

;session.entropy_file = /dev/urandom

; Set to {nocache,private,public,} to determine HTTP caching aspects
; or leave this empty to avoid sending anti-caching headers.
session.cache_limiter = nocache

; Document expires after n minutes.
session.cache_expire = 1800

; trans sid support is disabled by default.
; Use of trans sid may risk your users security.
; Use this option with caution.
; - User may send URL contains active session ID
;   to other person via. email/irc/etc.
; - URL that contains active session ID may be stored
;   in publically accessible computer.
; - User may access your site with the same session ID
;   always using URL stored in browser's history or bookmarks.
session.use_trans_sid = 0

; Select a hash function
; 0: MD5   (128 bits)
; 1: SHA-1 (160 bits)
session.hash_function = 0

; Define how many bits are stored in each character when converting
; the binary hash data to something readable.
;
; 4 bits: 0-9, a-f
; 5 bits: 0-9, a-v
; 6 bits: 0-9, a-z, A-Z, "-", ","
session.hash_bits_per_character = 5

; The URL rewriter will look for URLs in a defined set of HTML tags.
; form/fieldset are special; if you include them here, the rewriter will
; add a hidden <input> field with the info which is otherwise appended
; to URLs.  If you want XHTML conformity, remove the form entry.
; Note that all valid entries require a "=", even if no value follows.
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"


主題: 沒有權限進入管理介面的問題
作者: markwu四月 16, 2005, 12:10:42 上午
引用
session.save_path = "c:/tmp"


在這個設定中,你的 save_path 是 c:/tmp,mmm.... 請問你的 c: 下面有 tmp 這個目錄嗎?沒有的話就請你自己建一個。

改過後記得要重起 apache.

Mark


主題: 沒有權限進入管理介面的問題
作者: guest四月 16, 2005, 12:14:19 上午
在c:\底下已經有tmp目錄了
而且可以看到有幾個session file在裡面了


主題: Re: 沒有權限進入管理介面的問題
作者: markwu四月 16, 2005, 12:25:18 上午
引用自: guest
在c:\底下已經有tmp目錄了
而且可以看到有幾個session file在裡面了


傷腦筋,相同的問題又發生了  :-(  真是搞不懂。

你能把 save_path remark 掉,讓他用系統的 tmp 試試嗎?

引用
;session.save_path = "c:/tmp"


Mark


主題: 沒有權限進入管理介面的問題
作者: guest四月 16, 2005, 12:49:45 上午
我已經改回來了
但是狀況還是一樣

然後我有發現一個奇怪的地方

要進入admin.php的時候會要求輸入帳號密碼
進入後要點選 XXX Blog的連結才能進去
管理面版 » Allen's Blog » 內容管理 » 發表新文章
照理說假如session有問題的話,這時候應該已經會出問題了
而不會進入
管理面版 » Allen's Blog » 內容管理 » 發表新文章
但是我每次試都可以進到這邊所以不知道是哪裡錯

另外
當點選 XXX Blog後http://127.0.0.1/plog1/admin.php?op=blogSelect&blogId=1會有blogId=1的參數
但是在往下選其它的功能的時候blogId=1就不會往下帶了...
這不知道是什麼問題

還有
當從admin.php登入後直接在網址列打
http://127.0.0.1/plog1/admin.php?op=blogSelect&blogId=1
這樣就可以直接進入
管理面版 » Allen's Blog » 內容管理 » 發表新文章
這代表此時已經抓的到session
然後選任何功能後會被踢出來請我輸入id/password
但此時在網址列直接輸入
http://127.0.0.1/plog1/admin.php?op=blogSelect&blogId=1

又可以直接進到
管理面版 » Allen's Blog » 內容管理 » 發表新文章
這代表session應該還在

所以這個問題怪怪的

ps我有試過新開一個browser後直接在網址列輸入
http://127.0.0.1/plog1/admin.php?op=blogSelect&blogId=1
結果是會出現請我輸入id/password的畫面
所以可以確認要進入
管理面版 » Allen's Blog » 內容管理 » 發表新文章
是有session的check


主題: 沒有權限進入管理介面的問題
作者: markwu四月 16, 2005, 01:13:39 上午
你的 PHP 是哪一版的?裝在 windows 2003,2000 還是 XP? Apache 呢? Mysql 呢?

另外,你參考一下這一篇 http://forum.lifetype.org.tw/index.php?topic=99.msg612#msg612 ,依照 minstrel 寫的試試看!


Mark


主題: 沒有權限進入管理介面的問題
作者: guest四月 17, 2005, 11:59:53 下午
Hello Mark

        我試過了還是沒解..... :'(

        我的環境是  
           win2000+apache2.0.53+php5.0.4+mysql2.23.39+plog1.0


主題: Re: 沒有權限進入管理介面的問題
作者: markwu四月 18, 2005, 09:45:25 上午
引用自: guest
Hello Mark

        我試過了還是沒解..... :'(

        我的環境是  
           win2000+apache2.0.53+php5.0.4+mysql2.23.39+plog1.0


你早說是 PHP 5 嘛! :-S 看樣子是PHP 的問題,在論壇中有人回報 5.0.3 後會造成 session data 無法讀取。我比過他的 release notes,根本看不出來為什麼會造成這樣。

而我自己測試在 5.04 時也會發生要我重複 login 的情形。所以建議你先改用 PHP4。

Mark


主題: Re: 沒有權限進入管理介面的問題
作者: markwu四月 20, 2005, 04:14:55 下午
引用自: markwu
引用自: guest
Hello Mark

        我試過了還是沒解..... :'(

        我的環境是  
           win2000+apache2.0.53+php5.0.4+mysql2.23.39+plog1.0


你早說是 PHP 5 嘛! :-S 看樣子是PHP 的問題,在論壇中有人回報 5.0.3 後會造成 session data 無法讀取。我比過他的 release notes,根本看不出來為什麼會造成這樣。

而我自己測試在 5.04 時也會發生要我重複 login 的情形。所以建議你先改用 PHP4。

Mark


當當看到一個解法,有人在php.ini 中設定

程式碼:
register_long_arrays = On


就解了這個問題了!你能試試看嗎? :-)

Mark


主題: 權限?
作者: SummerSun五月 08, 2005, 11:57:19 下午
我是新手..我也是使用php5..
在localhost上使用的確會有沒有權限的問題..
不過在家中另外一台電腦上網就可以進入..
不知道是不是mysql的權限有差別..


主題: Re: 權限?
作者: markwu五月 09, 2005, 12:26:49 上午
引用自: SummerSun
我是新手..我也是使用php5..
在localhost上使用的確會有沒有權限的問題..
不過在家中另外一台電腦上網就可以進入..
不知道是不是mysql的權限有差別..


應該不是,因為如果是 mysql 權限問題會直接告訴你 "xxxx@localhost" 無法 connect。

你是用 php5 哪一版?如果是 5.04 ,你有看到我上一篇的回復嗎?能試試看嗎?

Mark


主題: Re: 權限?
作者: SummerSun五月 10, 2005, 04:43:36 上午
引用自: markwu
應該不是,因為如果是 mysql 權限問題會直接告訴你 "xxxx@localhost" 無法 connect。
你是用 php5 哪一版?如果是 5.04 ,你有看到我上一篇的回復嗎?能試試看嗎?
Mark

我的是php 5.03
上面的方法我去查
已經有該行指令..
也沒有被標成註解..

現在我在另一台電腦上裝..
設定為localhost..(原先有權限問題的blog是固定ip)
一切就正常..


主題: Re: 權限?
作者: markwu五月 10, 2005, 11:07:07 上午
引用自: SummerSun
引用自: markwu
應該不是,因為如果是 mysql 權限問題會直接告訴你 "xxxx@localhost" 無法 connect。
你是用 php5 哪一版?如果是 5.04 ,你有看到我上一篇的回復嗎?能試試看嗎?
Mark

我的是php 5.03
上面的方法我去查
已經有該行指令..
也沒有被標成註解..

現在我在另一台電腦上裝..
設定為localhost..(原先有權限問題的blog是固定ip)
一切就正常..

Hi SummerSun:

你能先報出你的完整安裝環境跟目錄嗎?這樣比較好猜 :-)

Mark


主題: Re: 權限?
作者: SummerSun五月 16, 2005, 06:31:42 上午
引用自: markwu

你能先報出你的完整安裝環境跟目錄嗎?這樣比較好猜 :-)
Mark

我的問題解決了..
我的權限問題似乎是因為我的隱私權設中級..
所以無法接收cookie..
我猜是因而無法讀到權限..
所以才會造成在其他電腦可以..
本機端反而不行的奇怪現象..
不知道發問人是不是跟我一樣..
可以嘗試把隱私權調低一點看看..


主題: 沒有權限進入管理介面的問題
作者: Anonymous六月 03, 2005, 04:09:41 下午
我也用了SummerSun的方法解決了相同的問題了。thanks.


主題: 沒有權限進入管理介面的問題
作者: joey六月 25, 2005, 01:31:21 下午
引用
在php.ini 中設定

register_long_arrays = On


就解了這個問題了!

用這個設定就OK了 :-D


主題: 我也是遇到這個問題,剛好解決!
作者: derekhsu八月 23, 2005, 01:33:46 下午
好久沒來啦!^^
之前因為我換電腦主機,所以把plog資料備份出來重建,換成最新版的PHP與MySQL,遇到跟原作者一樣的問題。

結果根據本文,設定了register_long_arrays = On以後,的確就解決了這個問題!PHP改版的幅度實在也太激進了一點,很多原本可以跑得AP在下一個小版本就會出問題。


主題: Re: 我也是遇到這個問題,剛好解決!
作者: markwu八月 23, 2005, 01:45:01 下午
引用自: derekhsu
好久沒來啦!^^
之前因為我換電腦主機,所以把plog資料備份出來重建,換成最新版的PHP與MySQL,遇到跟原作者一樣的問題。

結果根據本文,設定了register_long_arrays = On以後,的確就解決了這個問題!PHP改版的幅度實在也太激進了一點,很多原本可以跑得AP在下一個小版本就會出問題。


這個問題已經在 1.0.2 中完全解決了!(基本上 1.0.2 是 php5 完全相容了)

Mark


主題: Re: 我也是遇到這個問題,剛好解決!
作者: janmomo九月 07, 2005, 11:58:54 上午
好久沒來啦!^^
之前因為我換電腦主機,所以把plog資料備份出來重建,換成最新版的PHP與MySQL,遇到跟原作者一樣的問題。

結果根據本文,設定了register_long_arrays = On以後,的確就解決了這個問題!PHP改版的幅度實在也太激進了一點,很多原本可以跑得AP在下一個小版本就會出問題。
感恩~
我弄了n小時,都行不通
想不到設成On後~~就不會再有問題了
感動中~~
謝謝