質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

Q&A

解決済

1回答

2457閲覧

CakePHPのトップページのフッターに情報が出力されてしまう

dpjgt4034

総合スコア13

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

0グッド

0クリップ

投稿2016/08/31 10:43

こんばんは。
PHP初心者です。

CakePHPをインストールしてDatabaseへの接続設定や
Debugkitのインストールを済ませ、CakePHPのトップページへ
アクセスしました。

その上で、エラーがないかどうか確認したところ、エラーはなかったのですが
その代わりCakePHPのFooterの部分に、Sql Logs、Timers、View Variables、CakePHP Constants、PHP Environment・・・などを初めてとして、様々なセキュリティ情報が長々と出力されてしまっており、焦っています。

これはどこのファイルのどの部分が原因なのでしょうか?
また、これらの情報を出力させないようにするための改善策につきましても
教えて頂けますと幸いです。

最後に、全部は掲載できないので、フッターの冒頭の部分のスクリーンショットを
掲載させていただきます。
紺色の部分の下以降に様々な情報が出力されてしまっている状態です。

イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

おそらくDebugモードとなっているからだと思います。

この部分を表示しているのは、デフォルトのレイアウトの以下の部分となります。

CakePHP

1//app/View/Layouts/default.ctp 2<body> 3 <div id="container"> 4 <div id="header"> 5 <h1><?php echo $this->Html->link($cakeDescription, 'http://cakephp.org'); ?></h1> 6 </div> 7 <div id="content"> 8 9 <?php echo $this->Flash->render(); ?> 10 11 <?php echo $this->fetch('content'); ?> 12 </div> 13 <div id="footer"> 14 <?php echo $this->Html->link( 15 $this->Html->image('cake.power.gif', array('alt' => $cakeDescription, 'border' => '0')), 16 'http://www.cakephp.org/', 17 array('target' => '_blank', 'escape' => false, 'id' => 'cake-powered') 18 ); 19 ?> 20 <p> 21 <?php echo $cakeVersion; ?> 22 </p> 23 </div> 24 </div> 25 <?php echo $this->element('sql_dump'); ?> ←ここ 26</body> 27</html>

この部分の、コードは以下のようになっており、Debuglevelが2以上だと情報を表示します

CakePHP

1//lib/Cake/View/Elements/sql_dump.ctp 2 3<?php 4/** 5 * SQL Dump element. Dumps out SQL log information 6 * 7 * CakePHP(tm) : Rapid Development Framework (http://cakephp.org) 8 * Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org) 9 * 10 * Licensed under The MIT License 11 * For full copyright and license information, please see the LICENSE.txt 12 * Redistributions of files must retain the above copyright notice. 13 * 14 * @copyright Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org) 15 * @link http://cakephp.org CakePHP(tm) Project 16 * @package Cake.View.Elements 17 * @since CakePHP(tm) v 1.3 18 * @license http://www.opensource.org/licenses/mit-license.php MIT License 19 */ 20 21if (!class_exists('ConnectionManager') || Configure::read('debug') < 2) { 22 return false; ←ここでDebuglevelが2より小さいと表示を行わないことが分かる 23} 24$noLogs = !isset($sqlLogs); 25if ($noLogs): 26 $sources = ConnectionManager::sourceList(); 27 28 $sqlLogs = array(); 29 foreach ($sources as $source): 30 $db = ConnectionManager::getDataSource($source); 31 if (!method_exists($db, 'getLog')): 32 continue; 33 endif; 34 $sqlLogs[$source] = $db->getLog(); 35 endforeach; 36endif;

なので、商用稼働時はcore.phpの設定を変更してください

CakePHP

1//app/Config/core.php 2/** 3 * CakePHP Debug Level: 4 * 5 * Production Mode: 6 * 0: No error messages, errors, or warnings shown. Flash messages redirect. 7 * 8 * Development Mode: 9 * 1: Errors and warnings shown, model caches refreshed, flash messages halted. 10 * 2: As in 1, but also with full debug messages and SQL output. 11 * 12 * In production mode, flash messages redirect after a time interval. 13 * In development mode, you need to click the flash message to continue. 14 */ 15 Configure::write('debug', 2);←この値を商用稼働時は0にする

投稿2016/08/31 11:11

KatsumiTanaka

総合スコア924

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dpjgt4034

2016/08/31 11:30

とても丁寧にありがとうございます。 確認しましたところ、まさにその通りでした。 助かりました、ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問