Thursday, November 21 2024 @ 07:33 PM JST

Geeklog upgrade注意点: jQuery1.9以後でlive関数削除

  • Wednesday, October 02 2013 @ 09:40 PM JST
  • 投稿者:
  • 表示回数 8,444
Geeklog

Geeklog 2.0.0では、jQuery v1.9.1が同梱され、次期バージョンGeeklog 2.1.0では、現リポジトリを見るとjQuery v1.10.2が同梱されるようです。

Geeklog 1.8で活用していたjQueryの関数が動かなくなった場合、jQueryのバージョンに注意してください。

jQuery 1.9からliveが使えなくなっています。

コンソールには以下のエラーが表示。
Uncaught TypeError: Object [object Object] has no method ‘live’

jQuery1.9系からliveが削除されているようです。
以下のように、onに置き換えてください。

from:

$("a.foo").live("click", fn);

to:
$(document).on("click", "a.foo", fn);


参考blog:
http://memo.choimemo.net/?p=585

Geeklogメンテナンス中の .htaccess

  • Tuesday, September 17 2013 @ 01:18 AM JST
  • 投稿者:
  • 表示回数 8,006
Geeklog

どのURLにアクセスしてもブラウザに表示されるURLはそのままでGeeklogメンテナンス中を示すページを表示します。しかも、HTTPレスポンスコード503(過負荷/メンテナンスで一時的に利用不可)が返るので、検索エンジンに対しても一時的なメンテだと理解され、メンテナンス画面がインデックスされることはありません。

管理者が使っている一部のIPアドレスからのアクセスに対してはメンテ中を表示せず通常の処理/表示をします。

Geeklog日本語版では、メンテ中画面を出すページは日本語化プラグイン(Japanize)が提供している /japanize/disabledmsg.html が用意されているので、これを表示します。

設定方法

.htaccess(またはhttpd.conf)に以下を追加します。

ErrorDocument 503 /japanize/disabledmsg.html

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{REQUEST_URI} !=/japanize/disabledmsg.html
  RewriteCond %{REMOTE_ADDR} !=XXX.XXX.XXX.XXX
  RewriteCond %{REMOTE_ADDR} !=XXX.XXX.XXX.XXX
  RewriteRule ^.*$ - [R=503,L]
</IfModule>
※ RewriteCond %{REMOTE_ADDR} !=XXX.XXX.XXX.XXX ここに開発者側のIPアドレスを列記。

Geeklogとロゴの由来

  • Friday, September 13 2013 @ 09:06 AM JST
  • 投稿者:
  • 表示回数 7,460
Geeklog

[lightbox:/images/library/Image/geeklog/logo/geeklog-purple.png width:300 height:auto]

Geeklogの特長:

オープンソースソフトウェア関連の法的問題に関わる情報を発信し続け数々受賞してきた有名な法律ブログGroklaw(http://www.groklaw.net/)は世界的に有名であり、このサイトで活用されている。統制がとれた開発体系、明快な関数の命名規則や整理されたソース構造、充実したプラグインライブラリが特徴。jQueryを多用したビジュアルな旅行サイトなどにも活用。

開発者:
http://wiki.geeklog.net/index.php/Who_made_Geeklog%3F
2012年、日本人コミッター2名(mystral-kk, Dengen)誕生。

開発の経緯:

SecurityGeeksとNewsGeeksというサイトのために開発され、GPL ver.2で公開。 テンプレートのコードはLGPLのPHPLibから。

Geeklogは、Jason Whittenburgによって書き下ろされた後、オープンソースコミュニティによってプロジェクトが進んでいる。Geeklog の現在のメンテナーは Dirk Haun。

ロゴ:

Wikiに簡単ながら紹介されています。

http://wiki.geeklog.net/index.php/Geeklog_logo
Geeklog開発者のSimon Lordによる。Creative Commonsライセンスで配布。フォント部はAdobe商用フォント"VAG Rounded Black"。

画面がまっしろ。サイトがエラーになったときの対処法

  • Friday, September 06 2013 @ 11:50 PM JST
  • 投稿者:
  • 表示回数 18,489
Geeklog

Geeklogの場合は、以下の手順でサイトのエラーを表示して復旧させます。

  • php.iniでPHPエラー表示モードに変更します。
  • Geeklogのエラーログ /logs/error.logとサーバーのログを確認します。
  • Geeklogの管理画面にログインできる場合はCacheクリア。あるいはサーバーのcache用ディレクトリ(data/layout_cache/, data/layout_css)のcacheファイルを削除
  • Geeklogのsiteconfig.php に、以下の1行を追加して、デバッグモードにします。
    $_CONF['rootdebug'] = true;
    これでログインしていなくてもPHPエラーが表示されるようになります。
  • どこでエラーが発生しているか詳細な関数の実行経緯が表示されるので解析。
    原因に応じて、/admin/install/rescue.php(緊急レスキューツール) を実行してプラグインを無効にするなど。rescue.phpでたいてい解決します。

    [lightbox:/images/library/Image/geeklog/rescue/geelog-rescue.png width:auto height:250]

  • DBへの接続情報は、db-config.phpです。

Geeklog テーマエディタ―を編集してパンくずリストを表示する

  • Friday, September 06 2013 @ 06:14 PM JST
  • 投稿者:
  • 表示回数 7,877
Geeklog

テーマエディタ―を活用すると、テーマの編集から画像のアップロードまでできます。

1. Plugin Admin - install Themedit

[lightbox:/images/library/Image/geeklog/themedit/geklog_plugins_admin.png width:auto height:250]

プラグインのインストール順にプラグインが処理されます。依存されているプラグイン(日本語化プラグインやDataProxyプラグイン)は上位に配置してください。

日本語化プラグインは、日本語メールを利用するすべてのプラグインが依存しています。

DataProxyプラグインは、Sitemap Calendarjp プラグインが依存しています。

Geeklog DataBox Msater data

  • Friday, September 06 2013 @ 03:07 AM JST
  • 投稿者:
  • 表示回数 8,954
Geeklog

DataBoxのアトリビュート(Attributes)のタイプ(type)には、マスター(Master)を別途登録(regist)してそれを参照して作成するリスト(List)があります。

マスター(Master)で、種別を Country にして、各国のなまえ(Country name)、コード(code)などを一式登録(regist)します。その次のアトリビュート作成画面(Attributes admin)で、マスター(master) 「Country」を参照したリスト(List)を、テーマ変数(Theme variable)「country」で作成します。作成するデータのタイプのアトリビュート(Attributes)に登録。データ(create data)を作成します。

1. Create master for list attribute

[lightbox:/images/library/Image/geeklog/databox/geeklog_databox_master_create.png width:auto height:250]

DataBox plugin sample data を公開

  • Thursday, September 05 2013 @ 05:23 AM JST
  • 投稿者: Anonymous
  • 表示回数 10,377
Diary

[tag:DataBox] plugin sample data を公開しました。

download:
https://www.ivysoho.net/downloads/index.php

demo:
https://www.ivysoho.net/databox/category.php

[lightbox:/images/library/Image/geeklog/databox_admin.png width:300 height:500]

同梱されているcustomディレクトリを、/plugins/databox/custom/ にアップロードしてください。
同梱されているSQLを、最新のDataBoxプラグインをインストールしたあと、実行すると、動きます。

DataBox (UserBox) download:
https://bitbucket.org/tsuchi/box/downloads branch - download - zip gz bz2

English document:
https://www.ivysoho.net/downloads/index.php/1

SEOを意識した美しいURLの生成

  • Tuesday, September 03 2013 @ 11:25 PM JST
  • 投稿者: Anonymous
  • 表示回数 9,781
Geeklog URL生成はGoogleの評価対象の1つであると言われていますが、美しくルール化されたURLで生成されたサイトは管理しやすいので最初からURLのルールを意識して運営します。

Geeklogでは、記事、静的ページなど通常、生成するコンテンツはIDを指定します。

このIDの生成時に気を付けることは、

1.すべて小文字にすること
2.キーワードを含めること
3.複数キーワードで検索を狙いたい場合は、ハイフンでつなぐ
Googleはハイフンの利用を推奨しています。区切りにアンダーバーを使いません。アンダーバーを使えば、前後それぞれ繋げて1つと認識されます。

Geeklogの多言語切り替えの場合、同じコンテンツを多言語で用意する場合に、IDの最後に言語ID_ja _en _ko _zh などを追加します。

URLの生成で美しいのが、Geeklog本家サイトです。

事例:
http://www.geeklog.net/article.php/gr...tting-down
http://www.geeklog.net/article.php/su...3-students
http://www.geeklog.net/article.php/geeklog-2.0.0
http://www.geeklog.net/article.php/geeklog-1.8.2
http://www.geeklog.net/article.php/geeklog-1.8.0

投稿記事は、投稿者はURLを指定できず、自動生成URLなので、以下のようなURLになります。
http://www.geeklog.net/article.php/20...2908235210

ロリポップ!WordPress利用サイトで不正アクセスによる改ざん被害の考察

  • Friday, August 30 2013 @ 08:01 PM JST
  • 投稿者:
  • 表示回数 6,827
Diary ロリポップ!WordPress利用サイトで不正アクセスによる改ざん被害は深刻な被害をあたえています。

http://lolipop.jp/info/news/4149/

引用:
“本件の改ざんは、[tag:WordPress]の設定ファイルであるwp-config.phpからデータベース接続に必要な情報を抜き出して情報を書き換えられたもので、それ以外のデータに影響はございません。先般お知らせしておりました、データベースのパスワード変更はこちらに関連するものです。重ねてご報告いたします。”

この案内によると、脆弱性を衝かれて[tag:WordPress]の設定ファイルであるwp-config.phpが取得されてDBの情報を書き換えられたもの、とありますが、DB内にはユーザーの情報が含まれており、アカウントのメールアドレスなどの個人情報が抜き出されていてもおかしくない状況です。

ロリポップ!は非公開領域の利用を許していないので、非公開領域に本体ソースをアップロードしてよりセキュアに運営可能な[tag:Geeklog]は、十分にセキュアに運営できないため、ロリポップ!を非推奨としてきました。

そのため、[tag:Geeklog]の利用は少数で被害もまだ聞こえてきませんが、すべてのCMSにおいて、脆弱性の対策としてパスが変更されたことで、サイト復旧対応が必要となっています。

改ざん手法は「WordPressのプラグインやテーマの脆弱性を利用」とありますが、考えられる脆弱性のひとつとして、timthumb.phpが考えられます。

http://blog.vaultpress.com/2011/08/02...-timthumb/

最終体な対策が完了したと言われている2.8.2(Revision:r187)がリリースされたのは2011年10月13日です
https://code.google.com/p/timthumb/so...tail?r=187

※以下の記事では10月17日とありますが、実際にコミットされたのは13日です。
WordPressプラグインなどで利用されているTimThumb.phpの脆弱性について
http://did2memo.net/2013/05/31/timthu...erability/

WordPressに限らず、timthumb.phpを活用しているCMSはバージョンを確認する必要があります。

CMSは、便利な面がある反面、攻撃を受けやすい面があります。常にセキュリティメンテナンスを行って、最新のバージョンで運用すること。最新のバージョンで運用できるよう本体ハックをしないこと。カスタマイズは本体をハックして行わず、かならずアドオンで機能追加することが大事です。

CMSは、様々なアドオン手法によってカスタマイズする設計になっています。本体をハックしなければ運用できないCMSは、未熟なCMSともいえるでしょう。

ハックしなくても実際の運用に耐えうるよう、本体の開発およびアドオンの開発に協力していくことが将来にわたってセキュアにOSSを活用するコツです。

WordPressでないからと安心することなく、すべてのCMSにおいて、運用者が気を引き締めなければならないでしょう。


ページナビゲーション