人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPで、Smartyを利用した場合、「.tpl」という拡張子が使われると思います。

「.php」は、サーバーで動いていればコードが第三者に見られることは基本的に無いと思います。

では、「.tpl」は、コードが第三者に見られてしまうものなのでしょうか?

初心者的な質問で申し訳ありませんが、詳しい方、ぜひ教えていただけないでしょうか?

●質問者: comcom9
●カテゴリ:インターネット ウェブ制作
✍キーワード:PHP Smarty TPL コード サーバー
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● tek_koc
●20ポイント

詳しくはないのですが、試しに以前作ったプログラムのtplファイルに直接アクセスしてみたところ、普通にダウンロードできてしまいました。( http://cosmos.dojin.com/niconewchecker/templates/temp.tpl )

隠蔽できるかまではわかりませんが、特別対策をしていない場合は第三者に見られてしまうようです。

◎質問者からの返答

ありがとうございます。

そうですか。そのままだと、見れてしまいそうですね。

参考になりました。

他にもご意見のある方がいましたら、回答のほど、よろしくお願い致します。


2 ● ele_dir
●20ポイント

サーバの設定がどのようになっているかで違います。

例えば、ブラウザから、index.phpでは正常でも、index.tplへアクセスした場合、正常に表示されれば問題ないですが、ダウンロードなどの画面になった場合、第三者に見られてしまいます。

その場合、.htaccessへ下記の様に記述すれば良いかと思います。

AddHandler cgi-script .tpl

◎質問者からの返答

ありがとうございます。

.htaccessで制御ですか。参考になります!

他にもご意見のある方がいましたら、回答のほど、よろしくお願い致します。


3 ● pahoo
●20ポイント

拡張子 php や tpl が見られてしまうかどうかという問題は、Webサーバの設定次第です。

たとえば Apache であれば、httpd.conf または .htaccess に

AddType application/x-httpd-php .php

という設定があれば、拡張子 .php のファイルを PHP スクリプトとしてとして実行します。逆に、この指定がなければ、クライアントからスクリプトを盗み見られてしまいます。


Smartyのテンプレートについては、PHP のように、Webサーバが公開するフォルダに置く必要はありません。フォルダを非公開にしたり、パーミッションの設定で外部から見られないようにしておくのが普通です。


参考サイト

◎質問者からの返答

ありがとうございます!

なるほどですね。とても詳しい方の回答、参考になりました!

他にもご意見のある方がいましたら、回答のほど、よろしくお願い致します。


4 ● A9z5R93BntxPT3ZsnRYg
●20ポイント

Webサーバの設定によります。

基本的に.tplなどのテンプレートファイルはユーザに公開するものではないので、見えないようにしておく方が好ましいです。その場合、例えばApacheでは:

などという方法があります。

最も簡単なのは「htdocsの下に.tplを置かない」という方法だと思います。

◎質問者からの返答

ありがとうございます。

複数の方法があるのですね。参考になります!

他にもご意見のある方がいましたら、回答のほど、よろしくお願い致します。


5 ● a_suenami
●20ポイント

前の回答者の方にほとんど答えられてしまっている通り、公開ディレクトリにはテンプレートファイル等は置かないのが普通です。

Smartyオブジェクトの$template_dirプロパティや$compile_dirプロパティがデフォルトでは、'./templates'や'./templates_c'になっているので、きちんと意識しておかないと公開ディレクトリに設置してしまうハメになります。

これらのプロパティ値はすべてのページで共通なはずなので、モジュール化してincludeするようにしたほうがいいかと思います。

以下、ディレクトリ構造の例です。

/ ← Webアプリケーションのルート

webapp/

templates/

templates_c/

htdocs/ ← 公開ディレクトリ

index.php

images/

◎質問者からの返答

ありがとうございます!

なるほどですね。とても参考になります!

他にもご意見のある方がいましたら、回答のほど、よろしくお願い致します。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ