このblog(MovableType)を設置してもう半年になるんですが
知らなかったンです。
まさかデフォルト状態だとmt.cfgが丸見えになってるなんて!
情報源はコチラ。
こちらには.htaccessにてmt.cfgを保護する方法が書かれている。
mt.cfgと同じディレクトリに
<Files mt.cfg>
<Limit GET> ←この行不要
deny from all
</Limit> ←この行不要
</Files>
と記述した.htaccessを置く。
これで、GET要求による(通常ブラウザはGET要求で情報を取得する)
mt.cfgへのアクセスが禁止される。
※ 2005/1/21追記:
LimitによるGET要求のアクセス制限は、他のメソッドでの要求で破られる可能性があるそうです。
参考はこちら。
情報はotsuneさんから。
ありがとうございました。
また、Berkeley DBの方(私も)は
MTのCGIが置いてあるフォルダ内にあるDBもダウンロードし放題になっているので
そちらの方もDBフォルダ内に
<Files *>
<Limit GET> ←この行については下記の追記参照
deny from all
</Limit> ←この行については下記の追記参照
</Files>
※2005/1/21追記
↑現在、私は簡易DBではなく、SQLデータベースを仕様しています。
Limit GETの行を消す事で、
例えばコメントのPostや記事の更新等が出来なくなる可能性があるかもしれません。
ないかもしれません。実験出来ません。ゴメンなさい。
その場合は、
</Limit>のすぐ下に
<LimitExcept GET>
Order deny,allow
Deny from all
</LimitExcept>
と付け加えれば多分大丈夫かもしれません。
大丈夫じゃなかったらごめんなさい。※追記ココまで
と記述した.htaccessを置いた方がいいだろう。
但し、上記の方法は、サーバで.htaccessが使える事が前提となる。
や、しかし知りませんでした。
まさかmt.cfgが丸見え状態だったなんて。びびった。
情報収集の大事さを思い知りました。
ヤヴァイ。(゚∀゚)ラヴィ!!もやばかったけど(違)
丸見えの方がヤヴァイでしょ。
MT使ってる方で対策してない方、即対策をオススメします。
って、ココまで気が付いてなかった奴ってオレだけですか、そういう気もします。
きょう、みるみる(偽)はotamaがコメントにあったよ。
きょう、コメントがあった記事がこちらだった。
みるみる(偽)はプラグインに
幅を揃えてChopされたみたい・・・
アブない。otamaは
こうさぎ風って意味通すのスゲー難しい。
blog初心者四苦八苦でやるんじゃなかった。
因みに改良型プラグインはこちら。
詳しい内容は追記に書きます。もう二度とやりませんゴメンナサイ。
といってました。
*このエントリは、こうさぎの「みるみる」じゃなくotamaが書きました。
で、方法ですが。
リンクのコードをコピーしてテキストエディタで適当な名前(私はmt-trimj2.plでセーブ)にしてセーブ。
(私のblogはコードがEUCなので一応EUCでセーブしました)
MTのプラグインフォルダにアップロード。
その後、該当テンプレートの<$MTEntryTitle$>の部分を
<$MTEntryTitle trimj2_to="30"$>
(数値は切りたいバイト数・私は半角で30文字で設定なので30)
と書き換えて保存後、再構築。
30バイトだと、最近の記事のタイトル長じゃ効果がイマイチ見えなかったので
一瞬20バイトとかに削ってみたけど
キレイに幅が揃ってカナリイイ感じでした。
長いタイトルを付けがちな方はオススメでございます。
コメントをつけてくださった「と」さん、
本当にありがとうございました。
そして「こうさぎ風に書いてみたら?」と影で囁いてくれた海苔さん。
面白いかなぁと思ってやってみたけど、
やっぱり死ぬほど難しかったよ。。。。
JavaScriptをOFFにしている方にはあまり関係ないんですが。
JavaScriptを使って「続きを読む...」の改良を行ないました。
参考にしたのはこちらのサイト。
私はINDEX(トップ)ページが長くなるのが嫌だったので
導入部分だけをBodyに書き、後は追記の形でずっと書いてきたのですが
続きを読むをクリックすると、パーマネントリンクへ飛んでしまい
あんまり具合がよくないなぁ、とずっと思っておりました。
上記サイトの方法を使うと、
その場で続きが現れて非常にいい感じです。
変更箇所はMainINDEXのテンプレートの2箇所。
まず、最初の方にあるJavaScriptの部分に下記を足します。
<script language="javascript">
function showMore(varA1, varB1){
var123 = ('varXYZ' + (varA1));
varABC = ('varP' + (varA1));
if( document.getElementById ) {
if( document.getElementById(var123).style.display ) {
if( varB1 != 0 ) {
document.getElementById(var123).style.display = "block";
document.getElementById(varABC).style.display = "none";
} else { document.getElementById(var123).style.display = "none";
document.getElementById(varABC).style.display = "block"; }
} else { location.href = varB1;
return true; }
} else { location.href = varB1;
return true; }
}
</script>
後、続きを読む部分の
<MTEntryIfExtended>
<span class="extended"><a href="<$MTEntryPermalink$>#more">Continue reading "<$MTEntryTitle$>"</a></span><br />
</MTEntryIfExtended>
の部分を以下に書き換えます
<MTEntryIfExtended>
<span id="varP<$MTEntryID$>"><a title="続きを読む" href="<$MTEntryLink$>#<$MTEntryID pad="1"$>" onclick="showMore(<$MTEntryID$>,'<$MTEntryLink$>#<$MTEntryID pad="1"$>');return false;">続きを読む...</a></span>
<div id="varXYZ<$MTEntryID$>" style="display: none"><$MTEntryMore$><a title="続きを隠す" href="#<$MTEntryID pad="1"$>" onclick="showMore(<$MTEntryID$>,0);return true;">...元に戻す</a></div>
</MTEntryIfExtended>
で、保存し、再構築してオシマイ、と。
MTにしてよかったなぁ、と思うのは
こういうTIPSが日本語で多数ある所ですねー。
巷ではMT3.1がもうすぐだとか色々言われてますが
3.x以降はライセンスが必要となってくるのでまだ移行する気はないです。
移行するとしたら、友人も使ってて結構ヨサゲなNucleusかなーと思ってるんですが
如何せん、英語で情報を集めなければならないのがちょっとダルく
二の足を踏んでおります。
とりあえず、大きな穴が見つかるまではMT2.661のままで頑張っていきますです。
昨日ゴソゴソやっていた月送りカレンダーですが
最終的に、IEでどうしても表示が崩れる(文字の大きさを変えたとき)ので
渋々カレンダー部分のみフォントサイズを12pxで固定。
作業途中まで、自分が何やってんのか理解しないままやってたんですが
IFrame(InlineFrame)を使っていたことに途中で気付いた。(こら)
IFrameは対応していないブラウザがあるので
なるべく使いたくないなぁ、という気分になったんですが
どうもうまい方法が見つからない。
(もしカレンダー見えてない方、ゴメンなさい。
一応、IE6、Opera7.53、NS7で確認しました。)
まぁ、見つからないのも当たり前の話で、
誰だってIFrame使うの嫌だけど、
方法が無かったからこうなったんだろうな。
私もつたないながら、色々と改変を試したがダメだった。
つたなすぎてダメだった。
私に出来る位ならとっくに誰かやってるだろう。。。
もう少し何かしらのスキルが欲しいところである。
パクってばっかだもんな。。。
MTのそのままで使うカレンダーって
その月のカレンダーしか表示されないからイマイチ意味がないなぁ、と思っていて
この間からのMT改造(パクリ)熱さめやらぬ間に調べてみましたら
やはり、皆さん同じ思いだったらしく、
ありました、ありました。
月送りカレンダー。
が、色々とやってみましたが、
どうしても、IE以外でレイアウトが崩れるのですよ。
この辺りは、CSSとhtmlの指定の仕方が悪いんだと思う。
この時間まで色々といじってみたけれど
どうしても崩れたままなので、とりあえず記事だけ更新して
また作業してみます。
うまく行ったらお慰み。
行かなかったら、笑いもの。
では。
4/18にうちのブログ全体をphp化して、カテゴリーの分割化をしたが
その時に「いつかやるぞ!」と思っていた
「blogの各パーツをバラバラにしてリビルド時の時間を短縮する」というのに
今日挑戦してみました。
参考にしたのは、
いつもお世話になってます、Crossbreedさんのこの記事です。
ここのMT改造は本当にわかり易いです。
私の所は、2カラムで左側にある部分は全てのページで共通なので(手抜きとも言う)
・カレンダー
・最近のエントリー
・カテゴリーメニュー
・ページ内検索
・月間アーカイブ
・リンク
・blogpet
・xls
・POWERED
以上をモジュール化しました。
内、記事更新に関係のある
・カレンダー
・最近のエントリー
・カテゴリーメニュー
・月間アーカイブ
この部分はINDEXを更新する時に同時にリビルドするようにし、
それ以外は変更点が出た時のみのリビルド、と設定。
やり方は、CrossBreedさんの所を見ながら、ほぼその通りに。
さて、効果の程は、といいますと。
超っぱや!
実はこのエントリが丁度200エントリ目(みるみるの記事含む)なんですが
もうカナリ前から既にリビルドが重くてたまらなかった。(全てを再構築すると5分は余裕で掛かってました)
そして某巨大チャンネルの該当スレで言われていた呪文のような言葉
「ど う せ 2 0 0 エ ン ト リ 超 え た ら リ ビ ル ド 激 重 に な る ん だ し 。」
が、しかし!
今日からはちがーう!
ただでさえBerkeley DBでリビルド劇重だった私だけど、本当に効果絶大でした。
やってないヒトで「リビルド重いTT」とお嘆きのアナタ、
絶対やる価値あり、です。
軽量化以外にも便利になった部分が。
例えばカレンダーとかは今までは全てリビルドし直さなければ
INDEX以外は反映されなかったのですが
各部分をモジュール化したことで、共通のものを読み出すので
全てリビルドしなければならない状況になることがが激減。
やー。いい事まみれです。
ついでに記事部分もモジュール化しましたが、
上の作業から更に速くなった!という感じはしませんでした(W
まぁ、コレだけ速くなれば大満足。
判りやすく解説して下さっていた、CrossBreedさんに重ねて感謝を。
こんなオイラでも、簡単に出来たよ!
更に、トラックバック周りをチョコチョコといじりました。
表示がおかしかったのを直し、
トラックバックのURLをワンクリックで選択出来るようにしました。
参考先はこちら。
やー、何となく充実感。
自分で考えたわけでもないのに!
こんな過疎地へもコメントスパムが来てしまいました。
どうやら過疎・非過疎関係なく、誰の元にも現れるようです。(汗
まさか来ないだろう、と思っていたので一切対策は行なってなかったのですが
ここを見ながら簡単なものから2〜3対策を打ちました。
英語のみのコメントはエラーが出るようにもしたので
URLのみの紹介等は今後コメントとして受けられなくなりますので
その辺ヨロシクお願いしばす。
更に来るようであればまたいじっていく予定。
今日も進むよ。色んな初心者四苦八苦。
ってなわけで、
今日は「タイトル長すぎて折り返しちゃうイヤーン現象」の解決策を打ちました。
元々タイトルはそんなに長いほうじゃないから!とか思ってたけど
最近は結構長いのも書くようになっていたみたいで、
オマケにこうさぎのみるみるも長いのを書いちゃうので
左側の「最近のエントリ」が見苦しくてしょうがなかった。
一応気にしてたんですが
今日、別の件でフラフラと検索してたら解決法が出ていたので
早速導入。
最初は、PHPでの解決法の方を試みたんですが
そのPHPをどこに挿入したらいいかがよくわからず、
っていうか、テンプレートに書き足すっていう方法も合ってるかどうかわからず、
ま、要するに「全然理解していない!」と言う状態で
適当にテンプレートに書き足してみたりとか、まさに四苦八苦しちゃったんですが
再構築に必ず失敗してしまうので諦めました。
そこで、その記事のコメントに書いてあった
プラグイン導入での解決法にて対策。
こちらはこんな私でも簡単導入でしたよ。
ソースをテキストエディタに貼り付けて、
文字コードをEUCにしてmt-trimj.plと言う名前で保存後、
MTのプラグインフォルダにアップロード。
その後、該当テンプレートの<$MTEntryTitle$>の部分を
<$MTEntryTitle trimj_to="30"$>
(数値は切りたいバイト数・私は半角で30文字で設定なので30)
と書き換えて保存後、再構築、と。
導入した皆様も口を揃えておっしゃっておられますが
スッキリですよ、スッキリ。
しかし、こういう事を試せば試すほど
自分の無知が浮き出てくるのがツライ。
今日のPHPをどこにどうしたらいいのか、って言うのも
恐らく知っているヒトなら当たり前にわかることだと思う。
が、私はまさに「右も左もわからない」状態なわけで。
もっと詳しく言えば「右と言う意味も左という意味もわかってない」みたいな。
数日前、
「こうさぎが書く記事のエンジンがバージョンアップして、作者の記事を引用するようになる」
と言うニュースを見ました。
おおこれは、すごい、イイナイイナ。
そういえば、この「四角く囲まれた引用の部分」って
みんなよくやってるけどどうやるんだろうー????
きっと、みんなプラグインとかでやってるんだな(勘違い暴走スタート地点)
次にこうさぎが記事を投稿する前に、ワシもそのプラグインを導入せねば!(暴走Turboスイッチon)
と、思った私は思いっきり明後日の方向に暴走し、
なななななんとwiki風コマンドが使えるプラグインを意気揚揚と導入してしまったのでした。
導入しただけならアレですが
思い切り勘違いちゃんな記事まで書いてしまい(すぐ削除ったけど・・・)、
それが自動的にトラックバックを送ってしまったり、
そのトラックバック見て、記事見にきたこうさぎの中のヒトがいたり
(MTのエントリ削除では作成されたファイルは削除しない・・・。翌日気が付いてFTPで消しましたが・・・)で
密かにそして思いきり赤っ恥をかいていたわけです。
'`,、'`,、'`,、'`,、(´▽`) '`,、'`,、'`,、'`,、
ちょこっと調べたら「四角い囲み」なんざblockquoteで普通に指定出来るじゃんよ。
ってことで
「右の意味も左の意味もわからず明後日方向に超暴走」
ホントに。恥ずかしかった。
もっと精進します。。。。はい。。。。
許してください。・゜・(ノД`)・゜・
赤っ恥を惜しげもなく!(やけ)