Semantic Web – WordPress

Archive for 10月 2004

デイレクトリ( cache, templates_c ) のセキュリティ対策

with 2 comments

ダイナミック・ページ用デイレクトリ( cache, templates_c ) のセキュリティ対策
(Movable Type 3.11-ja, 3.121-en_us など)
Xrea.comさんのサーバであっても、一時保存ファイル用ディレクトリのパーミッション (属性) は707となりますので、悪意のあるものは(セキュリティ上のバグがあれば) 実行ファイルをアップロードし、WWWサーバ改竄等も可能です。
ダイナミックページを活用し、再構築のスピードアップ、サーバ容量節約、セキュリティ対策を同時に行うため、cache, templates_c は、デフォルト以外のデイレクトリ名で運用する方法をお伝えします。
合わせて、.htaccess ファイルによるアクセス制限も推奨いたします。
http://hitomi.s47.xrea.com/shellscript.biz/archives/2004/11/htaccess.html
[mt]/php/mt.php
5 # $Id: mt.php,v 1.19 2004/10/01 00:22:45 bchoate Exp $
おおよその行数
==
187 $this->config[‘PHPTemplateDir’] or
188 $this->config[‘PHPTemplateDir’] = $blog_site_path .
189 DIRECTORY_SEPARATOR . ‘templates‘;
190 $this->config[‘PHPCacheDir’] or
191 $this->config[‘PHPCacheDir’] = $blog_site_path .
192 DIRECTORY_SEPARATOR . ‘cache‘;
templates をリネーム(例: templates_xyz) すると、自動的にコンパイル用ディレクトリ templates_c も変更されます。
cache もリネーム(例: cache_xyz) します。
ブログページのディレクトリ内に2つ新ディレクトリを作成し、属性 707 に変更します。
 [blogpage]/templates_xyz_c
 [blogpage]/cache_xyz
リネーム名は、推測し難いものにします。
■ 補足
ページ・レベルのキャッシング
Movable Typeユーザー・マニュアル日本語では、注: これは実験的な機能であり、環境によってはうまく動作しないこともあります。 となっていますが、Xrea.com さんのサーバは (もちろん) 動作 OK です。
ダイナミック(動的生成) ページを利用する場合、caching option も有効にした方がベターです。
【追 記 2004/11/2】
Ogawa::Memoranda さん から重要なご指摘をいただきました。
$mt->cachingをtrueにすると、既定で1時間キャッシュが有効になります。そうすると、コメントをしても最悪で1時間反映されないことになるので注意が必要です。
「ダイナミック・サイト起動用スクリプト」
テンプレートの名前: Dynamic Site Bootstrapper
出力ファイル名: mtview.php
編集後の phpファイルは (一行 $mt->caching = true; を追加するだけ)
<?php
include(‘<$MTCGIServerPath$>/php/mt.php’);
$mt = new MT(<$MTBlogID$>, ‘<$MTCGIServerPath$>/mt.cfg’);
$mt->caching = true;
$mt->view();
?>
となり、ブログページ内に ディレクトリ名 cache (属性 707に変更) を新規作成するだけです。

広告

Written by support

2004/10/31 at 18:11

カテゴリー: ブログ blog

Remember Meをコメント文としたサンプルページ

with 2 comments

[お詫び] Remember Me のスクリプトの一行がHTML上正しく表示されていませんでした。
本ページを参考にされた方は、
http://shellscript.biz/Remember_Me.html
の赤色の文字を追加して下さい。
Movable Type 3.11-ja へアップグレード後、テンプレートモジュール”Remember Me” を作成しないと(新規インストールでないとき)、
http://shellscript.biz/archives/000031.html
TypeKey サインイン/サインアウトは正常作動しますが、ブラウザ(IEなど)閲覧時、スクリプトエラーとなります。
「ページでエラーが発生しました」
このサンプル用ブログページのようになります。
もし、スクリプトエラーを表示しないNetscape 7.1などで閲覧すると、スクリプト挿入ミスについて、本人もクライアントも全くわかりません。
しかし、Remember me? (日本語表示: 情報を登録する?) のラジオボタンは選択できませんし、正しくコメントできないことがありますので、ご注意下さい。
なお、本ブログページは、最新バージョンのMovable Type(英語版)を使用していますので、TBは文字化けすることがあります。ご了承下さい。 日本語版 です。

Written by support

2004/10/27 at 20:15

カテゴリー: ブログ blog

テンプレート・モジュール “Remember Me” と個別アーカイブ

with 5 comments

テンプレート template 【個別エントリーアーカイブ】の headタグ内には、下記のテンプレート・モジュール “Remember Me”ないし下記のjavascriptが必要です。
Movable Type 3.01D日本語版(および、英語 3.11バグフィックス版)まではjavascriptが挿入されていましたが、日本語版 3.11(および、英語版 3.12)からデフォルトでモジュールのタグ単独となっています。
もし、TypeKey サインイン/サインアウト新タグの利用のため、本テンプレートのみアップグレードした場合、テンプレート・モジュール「(テンプレートの名前) Remember Me」を新規に作成し、下記のjavascript全体をコピー・ペーストして、保存して下さい。
このスクリプトがないと、ブラウザ(Internet Explorerなど一部のもの)でエラー表示となります。
「ページでエラーが発生しました」
■ ところが、、、
<!–MTInclude module=”Remember Me”–> とコメント文としたり、下記javascriptを挿入せずブラウザ(IE)でエラー表示する 【個別エントリーアーカイブ】で運用しても、TypeKey サインイン/サインアウトは正常作動します。また、Netscapeで閲覧すると、スクリプトエラーを表示しないため、スクリプトの挿入ミスにブログ作成者もクライアントも全く気づかない・・ということになります。
しかし、実際には、Remember me? (日本語表示: 情報を登録する?) のラジオボタンは選択できませんし、正しくコメント投稿できないことがありますので、ご注意下さい。
サンプルページをご覧下さい。⇒ http://www.osbsd.net/
モジュールのタグ
<MTInclude module=”Remember Me”>
旧バージョンでのjavascript
<script type=”text/javascript” language=”javascript”>
<!–
var HOST = ‘<$MTBlogHost$>’;
// Copyright (c) 1996-1997 Athenia Associates.
// http://www.webreference.com/js/
// License is granted if and only if this entire
// copyright notice is included. By Tomer Shiran.
function setCookie (name, value, expires, path, domain, secure) {
var curCookie = name + “=” + escape(value) + (expires ? “; expires=” + expires : “”) + (path ? “; path=” + path : “”) + (domain ? “; domain=” + domain : “”) + (secure ? “secure” : “”);
document.cookie = curCookie;
}
function getCookie (name) {
var prefix = name + ‘=’;
var c = document.cookie;
var nullstring = ”;
var cookieStartIndex = c.indexOf(prefix);
if (cookieStartIndex == -1)
return nullstring;
var cookieEndIndex = c.indexOf(“;”, cookieStartIndex + prefix.length);
if (cookieEndIndex == -1)
cookieEndIndex = c.length;
return unescape(c.substring(cookieStartIndex + prefix.length, cookieEndIndex));
}
function deleteCookie (name, path, domain) {
if (getCookie(name))
document.cookie = name + “=” + ((path) ? “; path=” + path : “”) + ((domain) ? “; domain=” + domain : “”) + “; expires=Thu, 01-Jan-70 00:00:01 GMT”;
}
function fixDate (date) {
var base = new Date(0);
var skew = base.getTime();
if (skew > 0)
date.setTime(date.getTime() – skew);
}
function rememberMe (f) {
var now = new Date();
fixDate(now);
now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000);
now = now.toGMTString();
if (f.author != undefined)
setCookie(‘mtcmtauth’, f.author.value, now, ‘/’, ”, ”);
if (f.email != undefined)
setCookie(‘mtcmtmail’, f.email.value, now, ‘/’, ”, ”);
if (f.url != undefined)
setCookie(‘mtcmthome’, f.url.value, now, ‘/’, ”, ”);
}
function forgetMe (f) {
deleteCookie(‘mtcmtmail’, ‘/’, ”);
deleteCookie(‘mtcmthome’, ‘/’, ”);
deleteCookie(‘mtcmtauth’, ‘/’, ”);
f.email.value = ”;
f.author.value = ”;
f.url.value = ”;
}
//–>
</script>

Written by support

2004/10/27 at 17:45

カテゴリー: ブログ blog

Movable Type バイナリーファイル (tar.gz) と rbash

leave a comment »

【追記 2004/12/1】
日本語版 フォーマット形式 tar.gzのバイナリファイルは、Xrea.com さんのサーバ(Linux系)へアップロード後、リモートPCからSSH接続して展開するとエラーとなります。
以前、MTバージョン 3.11日本語版で異常を確認しましたが、その後のインストールも正しく行われていないようで、初期ログイン画面において異常な表示となります(ただし、アップグレード版では、ブラウザ上異常表示とはなりません)。
Xrea.comさんのサーバでは、
[追記 2005/5/25]
XREA SUPPORT BOARD – Movable Typeの設置方法について
    http://sb.xrea.com/showthread.php?p=64711#post64711
を参照し、提供中のスクリプトを利用する、または、
[追記はここまで]
フォーマット形式 zipなどをダウンロードして、クライアントPCで展開後にサーバにアップロードする方法となります。
因みに、バージョン3.12英語版のフォーマット形式 tar.gzや3.01D版ではこのような問題はありません。数回テストを行い確認しました。
SSH接続 rbash によるバイナリー展開時の結果: ×エラー ○ 正常
×【2004/12/01】 MT-3[1].121-upgrade-ja.tar.gz バージョン3.121日本語(アップグレード版) フォーマット形式 tar.gz
×【2004/10/19】 MT-3[1].11-full-lib-ja.tar.gz バージョン3.11日本語(フルインストール版) フォーマット形式 tar.gz
×【2004/10/19】 MT-3[1].11-upgrade-ja.tar.gz バージョン3.11日本語(アップグレード版) フォーマット形式 tar.gz
○【2004/12/01】 MT-3[1].121-upgrade-ja.zip バージョン3.121日本語 フォーマット形式 zip
○【2004/10/25】 MT-3[1].11-full-lib-ja.zip バージョン3.11日本語 フォーマット形式 zip
○【2004/10/20】 MT-3[1].121.tar.gz バージョン3.12英語版 (フルインストール版、アップグレード版) フォーマット形式 tar.gz
(SSH接続にて) シェル・コマンド tar, gunzip ともに展開時エラーとなります。
エラーメッセージ
| failed with return code 2 and error message
| gzip: stdin: decompression OK, trailing garbage ignored
| tar: Child returned status 2
| tarr: Error exit delayed from previous errors
と表示される ので、バイナリーファイル (tar.gz) 自体がちょっとおかしいのでは。 理由は、制限シェル rbash による可能性があります。
エントリー「rbash – restricted shell
  http://shellscript.biz/archives/000057.html

Written by support

2004/10/25 at 15:24

カテゴリー: ブログ blog

ping weblogs.com

leave a comment »

http://www.weblogs.com へ ping送信するために
·   Movable Type などの blogツールでは自動設定できます。
ping送信がエラーとなったとき、http://rpc.weblogs.com/RPC2
へ送信します。
·   http://blogshares.com/
のメニュー “home”から Add your blog をクリックし、フォーム入力すると、url をweblogs.comに登録できます。blogshares.com のログイン登録は不要です。
なお、blogshares.com では、
Upgrade your account, Premium Members, Start your blog now
は有料です。

Written by support

2004/10/24 at 11:22

カテゴリー: RSS, Atom

Watchlists をサイト更新の参考とする

leave a comment »

http://www.technorati.com/members/
にてブログページを登録し、”Claimed Weblogs (ブログの承認要求)”も行い、
www-data@technorati.com からの自動送信メールのとおり編集します。
登録した【Technorati Profile】がページ内に表示されます。
“Claimed Weblogs” しなくても、Watchlists の登録だけで、自サイトを参照している(数ヶ月以内のリンク)他人・他社のサイトURLがわかりますので、時に、クライアントがページを利用しやすいように、エントリーを更新、編集します。

Written by support

2004/10/24 at 05:36

カテゴリー: RSS, Atom

MT3.12 英語(リリース)版との違い

leave a comment »

MT 3.12 英語(リリース)版で fixed された問題
http://www.movabletype.org/news/2004/10/movable_type_312_release.shtml
には、セキュリティ上深刻なものがないようである? ので、Movable Type 3.11-ja(日本語版)をインストールし、本家サイトに時々立ち寄ることとする。
Movable Type 3.11-ja(日本語版)では、MT 3.11 英語(バグフィックス)版以降の更新ファイルも多く使用されているが、同日発売の MT 3.12 英語(リリース)版とは一致しないようである。
実は、Movable Type 3.01D 日本語版のリリースの際にも、英語版バージョン (個々のファイルのバージョン)との不一致があった。
Movable Type 3.01D bug fix release [07.09.2004] のリリース後、3.01D 日本語版が公開された。
Movable Type 3.01D bug fixでは、日本語版 3.01Dで設定できなかったTypeKey サインイン/サインアウト タグ、TypeKeyVersion 1.1指定が使用できた。日本語版 3.11-ja以前であれば、新TypeKey用タグの使用は任意であったが、日本語版 3.11-jaでは必須となった。よって、この新タグのないTemplateを流用すると、日本語版 3.11-jaではエラーとなる (日本語版 3.11-ja公開前に日本語版 3.01Dバグフィックス版を発表すべきではなかったのか)。
http://www.osbsd.net/archives/000137.html
今回もバージョン表示が同じであっても、個々のファイルの Versionは新旧混在する。
(例)
MT-3.12-upgrade-en_us/lib/MT.pm
v.312-us # $Id: MT.pm.pre,v 1.1.2.1 2004/10/18 18:50:05
v.311-us # $Id: MT.pm,v 1.211 2004/09/03 22:43:53
v.311-ja # $Id: MT.pm,v 1.214 2004/09/30 01:01:13
MT-3.12-upgrade-en_us/lib/MT/Sanitize.pm
v.312-us # $Id: Sanitize.pm,v 1.5.2.1 2004/10/15 23:56:56
v.311-us # $Id: Sanitize.pm,v 1.5 2004/05/17 19:51:30
v.311-ja # $Id: Sanitize.pm,v 1.5.2.1 2004/10/15 23:56:56
MT-3.12-upgrade-en_us/tools/run-periodic-tasks
v.312-us # $Id: run-periodic-tasks,v 1.5.2.1 2004/10/15 23:01:11
v.311-us # $Id: run-periodic-tasks,v 1.4 2004/08/16 22:54:20
v.311-ja # $Id: run-periodic-tasks,v 1.5.2.1 2004/10/15 23:01:11
MT-3.12-upgrade-en_us/php/mt.php
v.312-us # $Id: mt.php,v 1.19 2004/10/01 00:22:45
v.311-us # $Id: mt.php,v 1.16 2004/09/03 22:43:54
v.311-ja # $Id: mt.php,v 1.19 2004/10/01 00:22:45
MT-3.12-upgrade-en_us/php/lib/MTViewer.php
v.312-us # $Id: MTViewer.php,v 1.2.2.1 2004/10/18 16:59:47
v.311-us # $Id: MTViewer.php,v 1.1 2004/08/29 18:01:44
v.311-ja # $Id: MTViewer.php,v 1.2 2004/09/14 01:21:33
MT-3.12-upgrade-en_us/php/lib/mtdb_base.php
v.312-us # $Id: mtdb_base.php,v 1.13.2.1 2004/10/07 17:41:50
v.311-us # $Id: mtdb_base.php,v 1.9 2004/08/29 18:01:44
v.311-ja # $Id: mtdb_base.php,v 1.13.2.1 2004/10/07 17:41:50
MT-3.12-upgrade-en_us/mt-upgrade31.cgi
v.312-us # $Id: mt-upgrade31.cgi,v 1.15.2.1 2004/10/12 18:52:03
v.311-ja # $Id: mt-upgrade31.cgi,v 1.15.2.1 2004/10/12 18:52:03

Written by support

2004/10/20 at 21:21

カテゴリー: ブログ blog