バージョン選択

フォーラム

メニュー

オンライン状況

46 人のユーザが現在オンラインです。 (37 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 46
もっと...

サイト内検索

質問 > 管理機能 > mtb_permissionのファイル指定をフォルダ指定を可能にしたいのですが。。

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ricarica
投稿日時: 2018/8/24 12:41
対応状況: −−−
常連
登録日: 2011/8/22
居住地:
投稿: 48
mtb_permissionのファイル指定をフォルダ指定を可能にしたいのですが。。
▼テンプレート
[EC-CUBE]2.13.5 インストール
[レンタルサーバ] XAMPP
OS] windows 7
XAMPP for Windows 5.6.30
[ブラウザ] internet explorer11

ご質問:①
2.13.5についてお伺いします。
目的:ページアクセス権限の設定について
   mtb_permissionの記述が、ファイル名をそのまま全て記述する仕様の為
   ディレクトリ名(パス)で設定したい

その為、SC_Session.phpの記述の変更で出来るのではないかと考えているのですが、
いかがでしょうか。
以下記述変更のあたりをつけた部分
*********************************
/* 認証成功の判定 */
public function IsSuccess()
{
if ($this->cert == CERT_STRING) {
$script_path = realpath($_SERVER['SCRIPT_FILENAME']);
$arrScriptPath = explode('/', str_replace('\\', '/', $script_path));
$masterData = new SC_DB_MasterData_Ex();
$arrPERMISSION = $masterData->getMasterData('mtb_permission');
foreach ($arrPERMISSION as $path => $auth) {
$permission_path = realpath(HTML_REALDIR . $path);
$arrPermissionPath = explode('/', str_replace('\\', '/', $permission_path));
$arrDiff = array_diff_assoc($arrScriptPath, $arrPermissionPath);
// 一致した場合は、権限チェックを行う
if (count($arrDiff) === 0) {
// 数値が自分の権限以上のものでないとアクセスできない。
if ($auth < $this->authority) {
return AUTH_ERROR;
}
}
}
return SUCCESS;
}

return ACCESS_ERROR;
}
********************************
上記6行目:$arrScriptPath = explode('/', str_replace('\\', '/', $script_path));
上記11行目:$arrPermissionPath = explode('/', str_replace('\\', '/', $permission_path));
の記述ではないかと考えています。

フォルダ指定の仕方がわからないい為、どうかご教授お願いします。

ご質問:②
目的:/admin/以外(例えば、フロントページ)のアクセス制限も可能でしょうか?
また、其の場合は、mtb_permissionの記述のほかにどこを変更するべきなのでしょうか?
合わせて、ご教授いただければ幸いです。
どうぞよろしくお願いします。

468
投稿日時: 2018/8/24 13:27
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: mtb_permissionのファイル指定をフォルダ指定を可能にしたいのですが。。
urlの比較をarray_diff_assocを用いて行っている為、ディレクトリのみ(部分一致)による判定は難しいのではないかと思います。
array_diff_assocを利用しているif文の条件を自作すれば対応できるのではないでしょうか?

あと、フロントページに権限判定を追加する場合、pageクラスに変更を加える必要があるのではないかと予想します。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

ricarica
投稿日時: 2018/8/24 14:53
対応状況: −−−
常連
登録日: 2011/8/22
居住地:
投稿: 48
Re: mtb_permissionのファイル指定をフォルダ指定を可能にしたいのですが。。
早速のご回答ありがとうございます。

>urlの比較をarray_diff_assocを用いて行っている為、ディレクトリのみ(部分一致)による判定は難しいのではないかと思います。
>array_diff_assocを利用しているif文の条件を自作すれば対応できるのではないでしょうか?

ディレクトリの判定は難しいとのことありがとうございます。
if文の条件を自作すればとありますが、
ちなみに、

以下,SC_session 抜粋

foreach ($arrPERMISSION as $path => $auth) {
$permission_path = realpath(HTML_REALDIR . $path);
$arrPermissionPath = explode('/', str_replace('\\', '/', $permission_path));
$arrDiff = array_diff_assoc($arrScriptPath, $arrPermissionPath);

を丸ごとIFで判定させるということでよかったでしょうか?

また、其の場合、判定材料は、何にすればよいのでしょうか。
すみません。初歩的なものかもしれませんが、
どうぞよろしくお願いします。

ricarica
投稿日時: 2018/8/24 15:02
対応状況: −−−
常連
登録日: 2011/8/22
居住地:
投稿: 48
Re: mtb_permissionのファイル指定をフォルダ指定を可能にしたいのですが。。
質問②のご回答について

あと、フロントページに権限判定を追加する場合、pageクラスに変更を加える必要があるのではないかと予想します。


ありがとうございます。
確認してみたいと思います。

また、すみません、私の質問の仕方がよくなかったのかもしれませんが、
会員専用のサイトにしたく(再と全てを会員しかアクセスできないようにする)、
フロントページ以下全てのディレクトリ、ファイルに制限をかけたかったのです。(mtb_permissionを参考に管理者以外の一般ユーザーに制限がかけられないかと思いました。ごっちゃにしてすみません。)

ご教授頂きました内容のほかに、上記の会員専用サイトにする方法があればご教授お願いします。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,974名です
総投稿数は110,019件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1296
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.