• 締切済み

CakePHPの設置ディレクトリについて

CakePHPをレンタルサーバに設置しようとしています。そこで質問なのですが、 http://www.cakephp.jp/doc/ch03s04.html こちらの「開発用セットアップ」は安全ではないので公開目的では避けるべきと書かれていますが、具体的にどのような危険性があるのでしょうか。実際に想定される攻撃の手順を含めて、教えていただけるとありがたいのですが。 というのも、例えばWordPressやXOOPSなど、PHPで書かれたWebアプリケーションには公開ディレクトリに丸ごと放り込んで使うものが多いように思いますが、特に危険性は指摘されていないと思います。 CakePHPを公開ディレクトリに丸ごとセットアップしてしまった場合、どれくらい危険なのかをお教えください。よろしくお願いいたします。

  • PHP
  • 回答数1
  • ありがとう数1

みんなの回答

  • memphis
  • ベストアンサー率40% (975/2395)
回答No.1

危険性は一目瞭然です。 方法については、このサイトの禁止事項に当りますので書けません。

mine-D
質問者

お礼

うーむ。それほどあからさまですか。ヒントだけでもいただけないでしょうか。

mine-D
質問者

補足

けっきょく教えてはいただけないのですね。

関連するQ&A

  • CakePHP のディレクトリの構成について

    現在 CakePHP を勉強しています。 最初から壁にぶち当たってしまいました。 参考にしているサイトの内容は以下のようになっているのですが apps/app1 と www/app1 の関係がよくわかりません。 シロート的なイメージとして、CakePHP では apps/app1 で色々と作成したものが(自動的に)www/app1 に複写される。 そしてブラウザからのアクセスは www/app1 になる???? そんなイメージなのですが、その辺を含めて勘違いしていると思います。 この2つのディレクトリの意味と用途?を教えてもらえないでしょうか? +/home/example ・・・ ホームディレクトリ   |   +cake ・・・ cake ディレクトリ   |   +apps ・・・ CakePHPで作成するアプリケーション用ディレクトリ   | |   | +app1 ・・・ CakePHPで作成するアプリ1のappディレクトリ   | | |   | | +config, docs, libs, scriptsディレクトリとファイル   | |   | +app2 ・・・ CakePHPで作成するアプリ2のappディレクトリ   |   |   |   +config, docs, libs, scriptsディレクトリとファイル   |   +www ・・・ ウェブで公開されるディレクトリ(DocumentRoot)     |     +app1 ・・・ CakePHPで作成するアプリ1 の webroot     |     +app2 ・・・ CakePHPで作成するアプリ2 の webroot     |     +other ・・・ CakePHP以外のアプリを使う場合のディレクトリ

    • ベストアンサー
    • PHP
  • CakePHPでディレクトリ分けをしたい

    CakePHP2.3.4、サーバーはロリポップにて開発を行っております。 やりたいことは、コントローラーのディレクトリ分けです。 以下のようなディレクトリ構造にして、 app  |_Controller  |   |_admin  |    |    |_LoginController.php  ※メソッドはindex()のみと仮定  |    |    |_・・・.php  |    |  |    |_ListController.php  ※メソッドはindex()のみと仮定  |  |_View ※Viewも分けますが、今は省略しています。 アプリケーション「LoginCntroller.php」にアクセスする場合は http://○○.ne.jp/admin/login/index アプリケーション「ListController.php」にアクセスする場合は http://○○.ne.jp/list/index でアクセスしたいです。 自分なりに調べて、「bootstrap.php」に以下追加、 App::build(array(  'Controller' => array(ROOT.DS.APP_DIR.DS.'Controllers'.DS.'Admin'.DS,) )); 「route.php」に以下追加、 Router::connect('/admin/login', array('controller' => 'login', 'action' => 'index')); などと行ってみてはいるのですが、結果、以下のエラーになってしまいます。 Missing Controller Error: AdminController could not be found. Error: Create the class AdminController below in file: app/Controller/AdminController.php <?php class AdminController extends AppController { } Controller直下に配置したアプリケーションに関しては問題なく実行されます。 何が悪いのか見当もつかず困っております。 よろしければご教授いただけませんでしょうか。

    • 締切済み
    • PHP
  • CakePHPでbakeを利用したい

    CakePHPでbakeを利用したいと考えています。 OSはcentOS5.6です。 cakePHPをディレクトリに放り込み、データベース設定までは手動で設定しました。 (mySQLの設定だけでなく、cakePHPの設定も済み) ここから、viewなどをbakeをしていきたいと考えたわけですが、ここで問題が生じました。 /cake/consolephp まで行き、「cake.php bake」 と入力すると ****************************************************** Welcome to CakePHP v1.3.12 Console --------------------------------------------------------------- App : app Path: /home/worldstoughestblog.com/public_html/app --------------------------------------------------------------- Interactive Bake Shell --------------------------------------------------------------- [D]atabase Configuration [M]odel [V]iew [C]ontroller [P]roject [F]ixture [T]est case [Q]uit What would you like to Bake? (D/M/V/C/P/F/T/Q) ******************************************************** までは出てきます。 しかしながら、MやVと入力すると > M bash: M: command not found > V bash: V: command not found となってしまいます。 「CAKEPHP1.3によるWebアプリケーション開発」という本を読むと、「PHPのある場所とbakeがある場所を環境変数に組み込む必要がある」と書かれていました。これを設定していないのが原因かもしれません。(本の環境はwindows+XAMPP環境だったのでCentOSで環境変数に組み込む方法が分からず無視していました)。 ただ、webで調べる限り、「Welcome to CakePHP v1.3.12 Console」さえ出れば、後は皆問題なく進んでいるようなので、事前設定は必要ないのではないかとも思っています。 どなたか解決策をご教授頂けませんでしょうか?

    • ベストアンサー
    • PHP
  • cakePHP導入 XREA+について

    同じタイトルの質問から、検索して辿り着いたURL http://massat.jp/2007/01/08/110 を参考にXrea+ (有料版)の設定をしています。 しかし、動いてなさげです。 ディレクトリツリー: root / この直下に、cakephpをインストールしました。 次に、 mv -r root/cakephp/app/webroot/* root/public_html/dev.hoge.com/. でファイルを移動。 移動先のdev.hoge.com/index.phpを、 if (!defined('ROOT')) { define('ROOT', DS.'cakephp'); } /** * The actual directory name for the "app". * */ if (!defined('APP_DIR')) { define('APP_DIR', 'app'); } /** * The absolute path to the "cake" directory, WITHOUT a trailing DS. * */ if (!defined('CAKE_CORE_INCLUDE_PATH')) { define('CAKE_CORE_INCLUDE_PATH', ROOT); } と、編集しました。 これでいい筈なので、一緒にパッケージれていたtest.phpも、同じ内容で編集しました。 test.phpを実行させると、次のエラーが出ます。 Warning: set_time_limit() [function.set-time-limit]: Cannot set time limit in safe mode in /virtual/taokato/public_html/dev.bit-station.com/test.php on line 27 Warning: include(cake/bootstrap.php) [function.include]: failed to open stream: No such file or directory in /virtual/taokato/public_html/dev.bit-station.com/test.php on line 84 Warning: include() [function.include]: Failed opening 'cake/bootstrap.php' for inclusion (include_path='/cakephp:/cakephp/app/:.:/usr/local/lib/php') in /virtual/taokato/public_html/dev.bit-station.com/test.php on line 84 Fatal error: CakePHP core could not be found. Check the value of CAKE_CORE_INCLUDE_PATH in APP/webroot/index.php. It should point to the directory containing your /cake core directory and your /vendors root directory. in /virtual/taokato/public_html/dev.bit-station.com/test.php on line 85 これは、設定ミスをしているのでしょうか? 解説通りにしたはずなんですけど・・・。 参考にしたURL http://oshiete1.goo.ne.jp/qa5421358.html http://www.wakatta-blog.com/cakephpxrea.html http://www.cakephp.jp/doc/ch03s04.html#id4797748 http://massat.jp/2007/01/08/110 ご教示のほど、よろしくお願いします。

    • 締切済み
    • PHP
  • CakePHPの .htaccess設定について

    CakePHPをVPSで構築したサーバー(Linux)にインストールしました。 .htaccess(mod_rewrite)の設定がうまくいっていないようなので対処の方法を教えてください。 [環境] PHP 5.3.3 Apache 2.3.3 CakePHP 1.3.15 mod_rewriteが動いてるのはチェック用のプログラムで確認しました。 controllerとViewファイルを作り、文字の表示は成功しています。 フォームの実験を行った時にフォーム送信後のURL表示がうまくいっていません。(get/post共に) [書籍を参考にしたプログラム] Sampleコントローラーを作り、Viewの中にSampleディレクトリを作りその中にindex.ctpファイルを設置。フォームにテキストを入力して送信ボタンを押すと、テキストが表示されるプログラムです。 [コントローラー]sample_controller.php class HelloController extends AppController { public $name = 'Hello'; public $uses = null; public $layout = "hello"; function index(){} function sendForm(){ ~フォームで送られたテキストを表示(プログラムは省略)~ } } [index.ctp]のフォームのHTML <form method="post" action="./sendForm"> ~省略~ <input type="submit" /> </form> http://www.example.com/sampleでフォームを開きテキストを入力して送信ボタンを押すと http://www/example.com/sample/sendForm というURLになるはずなのですが、 http://www.example.com/sendForm となってしまいます。 試しにブラウザから「http://www/example.com/sample/sendForm」というURLを入力してみますと、フォームで入力したデータは表示されませんが、ページ自体は表示されます。 もう一つ、index.ctpの<form method="post" action="./sendForm">のアクションのパスを /sample/sendForm に変更してみますとデータも表示され、求めた結果になります。 以前、別の環境でこのプログラムを動かしたときは、<form method="post" action="./sendForm">のままでうまくいったので、.htaccessのファイルの設定に問題があると予想されます。 下記にcakePHPの設定情報を記載しますので、間違っている部分を指摘していただければと思います。 ※ディレクトリの構成は下記のページの「3.4.3. 高度なセットアップ:その他のインストール方法」を参考にしています。 http://cakephp.jp/old_doc/ch03s04.html [アプリケーションディレクトリ] /home ____/me ________/mysite ____________/config ____________/controllers ____________/models ____________/plugins ____________/tmp ____________/vendors ____________/views ____________index.php ____________.htaccess→「htaccessファイル1」● [公開ディレクトリ] /var ____/www ________/html ____________/example.com→ドキュメントルート _______________/css _______________/files _______________/img _______________/js _______________.htaccess→「htaccessファイル2」● _______________css.php _______________favicon.ico _______________index.php [コアファイルディレクトリ] /usr ____/lib ________/cake ____________/cake ________________/config ________________/docs ________________/libs ________________/scripts ________________app_controller.php ________________app_model.php ________________basics.php ________________bootstrap.php ________________dispatcher.php ____________/vendors ____________/plugins ____________index.php ____________.htaccess→「htaccessファイル3」● 「htaccessファイル1」(アプリケーション) -------------------------------------------------- <IfModule mod_rewrite.c> RewriteEngine on   RewriteBase /cake/app→■追加  RewriteRule ^$ webroot/ [L] RewriteRule (.*) webroot/$1 [L] </IfModule> ------------------------------------------------- 「htaccessファイル2」(公開) -------------------------------------------------- <IfModule mod_rewrite.c> RewriteEngine On   RewriteBase / →■追加  RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?url=$1 [QSA,L] </IfModule> -------------------------------------------------- 「htaccessファイル3」(コア) -------------------------------------------------- <IfModule mod_rewrite.c> RewriteEngine on   RewriteBase /cake→■追加 RewriteRule ^$ app/webroot/ [L] RewriteRule (.*) app/webroot/$1 [L] </IfModule> -------------------------------------------------- 疑問点は下記のようになっています。 (1)追加した部分のRewriteBaseはこれで良いのか? (2)RewriteRule ^$ webroot/ [L] RewriteRule (.*) webroot/$1 [L] の部分はこのままで良いのか?webroot部分の変更は必要か? (3)RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]の部分はこのままで良いのか?

    • ベストアンサー
    • PHP
  • Android開発について

    Androidのスマートフォンの購入を考えておリます。 購入した際、Androidのアプリを開発したく思っています。 javaはかじり程度で奥深くは理解しておりません。 しかし、Androidは使いこなしてみたいと思っています。 当方のスキルとしてvb系10年で業務システムメインです。 何か講習、アドバイス、おすすめブログ等ありましたら、ご紹介お願い致します。 Androidでしたいことや自分で開発したブログを公開したいと思っています。 (フリーのツール(xoops,wordpress)等を使用せず どうぞヒントを頂けますよう宜しくお願い致します。

  • サイトのトップページにアクセスできない

    WordPressでサイトを作り、公開する作業をしたところトップページにアクセスできない状態になりました。 レンタルサーバー:さくらインターネット WordPressのバージョン:6.0.2 使用しているテーマ:TCDの(LAW) 作成中はwwwディレクトリの直下に「test」ディレクトリを作り、 http://hoge.skr.jp/test/ というアドレスで作業していました。 作成が完了したので、これをhttp://hoge.skr.jp/で公開したいと考え、レンタルサーバーのWEB公開フォルダ設定で、  ~/www → ~/www/test と設定し、WordPressの「設定」→「一般」では  WordPress アドレス (URL):http://hoge.skr.jp  サイトアドレス (URL):http://hoge.skr.jp と設定しました。 そして確認のためトップページ「http://hoge.skr.jp/」にアクセスすると、 http://hoge.skr.jp/test/ というアドレスに強制的に変わってしまい、「ページが見つかりませんでした」というエラーになってしまいます。 しかし他のページにはアクセスできます。 (例えば「http://hoge.skr.jp/gaiyou」など) トップページにだけアクセスできない状態です。 .htaccessファイルも確認しましたが、特に転送の設定もありません。 他に何か設定すべき場所があるでしょうか?

  • フレームワークは開発環境だけでなく、実行環境でもインストールが必要?

    ちょっとPHPに興味が湧き、色々と作っています。そして、最近知ったのですが、フレームワークってのが流行っているみたいですね。 使ってみたく思ったのですが一つ疑問が出てきました。 フレームワークというのは、動かす先のサーバなどにも組み込む必要はあるのでしょうか? 開発環境へのインストールは必須でしょうが、私が借りているレンタルサーバはあまり環境を変えられないので、その辺が気になっています。折角作っても、レンタルサーバで公開できないなら作れるアプリにも制限が出てくるので。 Zend FrameworkやEthna、CakePHPなど色々とあるみたいですが、これらで作られたWEBアプリは、フレームワークがインストールされているサーバでしか動かないのでしょうか? それとも、PHPが使えれば、アプリは基本的には動くんでしょうか? よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • Visual Studio2008 Express Edition c

    Visual Studio2008 Express Edition c#で、簡単なプログラムを書きました。 expressは、インストーラを作れないらしいので、「発行」をして、USBメモリにSETUPを作りました。 プログラムは、プログラムのあるディレクトリに、あるディレクトリがある前提で書かれています。一応、開発時には、プロジェクトのBINディレクトリにそのディレクトリを無理やり作って、動作させました。 SETUPにコレをどうやって反映させればいいのか、教えてください。 普通に何もせずに発行し、インストールすると、 アプリケーションのコンポーネントで、ハンドルされていない例外が発生しました。「続行」をクリックすると、アプリケーションはこのエラーを無視し、続行しようとします。 ************** 例外テキスト ************** System.IO.DirectoryNotFoundException: パス 'C:\Documents and Settings\****\Local Settings\Apps\2.0\~~\ディレクトリ名' の一部が見つかりませんでした。 と、エラーが出ます。 詳しい方、よろしくお願いします。

  • LINUXのバージョンアップについて

    現在、FedoraCore4にてサーバを立てて (1)Web (2)メール (3)SSH (4)samba のサーバを立てています また、アプリケーションとして、 (5)Xoopsを入れての公開 (6)Mysqlを使っての、掲示板等々で利用しています ある人から、「FedoraCore4はサポートが切れているので 非常に危険、FedoraCore13等に至急上げるべき」と言われて います 「サポートが切れる」と何が危険なのか具体的にわからないのですが・・・ ぼちぼち、考えていこうかと思っていたので、そのバージョンアップの仕方 を考えて、アップしようかと考えています 上記、(1)~(6)のものが一挙にできるバージョンアップ方法が あればいいのですが 良い方法があれば教えていただけないでしょうか 当方が現在考えているのは 例えば、新しいマシンを用意して a.Fedora13をインストール b.Frdoraの設定で(1)~(4)の設定をFedoraCore4と同じく、ひとつひとつ 設定する c.Fedoraの環境が整えば、  (5)のXoops関連で、Xoopsをインストールしてデータを移行  (6)のMysqlのデータを移行 このようにひとつひとつやらなければならないのかと思っています バージョンアップの方法とかを記載しているサイトとかあれば 教えていただければ幸いです よろしくお願いします。

専門家に質問してみよう