LOGIN ID Password Auto Login Register Now! Lost Password?
Xoops Q&A

fckeditorのファイルアップロード権限の変更について

  • ログインせずに、この質問カテゴリに投稿できません
  • Xoops Q&A ではゲスト投稿が禁止されています。登録はこちらからどうぞ
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2009-2-3 14:47
MAMEMARU  2nd Class 登録日: 2009-1-30   投稿数: 15
MAMEMARUと申します。

picoでfckeditorを利用しているのですが、登録ユーザが数名なので、全員にアップロード権限があったほうが便利だと思い、思い切って変更することにしました。

そこで、config_and_auth.inc.dist.php ファイルをconfig_and_auth.inc.php として複製し、以下のように2カ所変更しました。

36行目
// guests
$fck_isadmin = true ;
$fck_canupload = true ;

41行目
// check canupload
$fck_canupload = true ;


これで行けるかな、と思ったのですが、登録ユーザでファイル(画像、PDFなど)をアップしようとすると、「Invalid file type」となってしまい、アップすることができませんでした。

解決方法をご存じの方がいましたら、アドバイスをいただけないでしょうか?
よろしくお願い致します。
投票数:1 平均点:10.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2009-2-3 21:07
MAMEMARU  2nd Class 登録日: 2009-1-30   投稿数: 15
MAMEMARUです。

以下のようにしたら登録ユーザなら誰でもアップロードできるようになりました。

引用:
36行目
// guests
$fck_isadmin = true ;
$fck_canupload = true ;

53行目
// check canupload
$fck_canupload = true ;

これにプラスして、

54行目
//if( ! $fck_isadmin ) {
	//	$fck_canupload = count( array_intersect( $xoopsUser->getGroups() , $fck_uploadable_groups ) ) > 0 ? true : false ;
	//}
のようにコメントアウトしたら可能になりました。

しかし、これで合っているか不安です。
何か間違えている部分がありましたら、ご指摘頂きたいです。
よろしくお願い致します。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2009-2-4 13:39
GIJOE  Admiral 登録日: 2006-3-20   投稿数: 3708
MAMEMARUさん、こんにちは。

まず最初に、ファイルのアップロード機能というのは、かなり「恐い」機能だということを覚えておいてください。
だからこそ、fckxoopsでは、最初からかなり厳しい設定にしているのです。
(少なくとも私がfckxoopsを作り始めた時点でFCKEditorのバックエンドは大穴あいてました)

以下、fckxoops-2.5.1-001だと仮定してコメントします。

引用:

以下のようにしたら登録ユーザなら誰でもアップロードできるようになりました。
// guests
$fck_isadmin = true ;
$fck_canupload = true ;
コメントにも書いてありますが、これはゲストの権限です。
ゲストがアップロード管理者権限を持つ…
拡張子phpでの任意コード実行なんかは、さすがにProtectorが守るとは思いますが、ログインなんかしなくても、あらゆるファイルの置き場にすることはできます。


このファイルについては、ロジックの読み書きが出来ないヒトでも、
// configurations
のエリアだけいじれば、(まともな設定なら)だいたい希望通りできるようにしてあります。


画像とPDFだけアップロードできれば良い、ということであれば、

$fck_uploadable_groups = array() ; // specify groups can upload images

この行で、アップロード可能なグループ番号を入力します。

グループ番号2と4に許可するなら、こうです。
$fck_uploadable_groups = array(2,4) ;

それらのユーザであれば、その他のファイルもアップロード許可したい、ということであれば、
		$fck_allowed_extensions = array(
			'jpg' => 'image/jp' ,
			'jpeg' => 'image/jp' ,
			'png' => 'image/png' , 
			'gif' => 'image/gif' ,
			'pdf' => '' ,
			'xls' => '' ,
		) ;
こんな感じで追加してください。

決して、$fck_isadmin を安易にtrueにしてはいけません。
投票数:5 平均点:4.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2009-2-4 15:42
MAMEMARU  2nd Class 登録日: 2009-1-30   投稿数: 15
GIJOEさん、こんにちは。

ご丁寧なアドバイスありがとうございます。

引用:
決して、$fck_isadmin を安易にtrueにしてはいけません。

やはりこちらで質問をして良かったです。
いくつかのサイトで、上記のようにして管理者以外にもアップロード権限を与えるカスタマイズ例が掲載されていたので、割とスタンダードな方法なのかも。
と勝手に解釈しておりました

アドバイスして頂いた方法で問題なくファイルアップができたので、以前のカスタマイズと変更しました。
投票数:0 平均点:0.00

  条件検索へ


Back to Page Top
MainMenu
Manuals
Search
XOOPS Official & Dev.
XOOPS Communities