「Web技術」タグアーカイブ

XAMPPの妙な挙動

XAMPPというディストリビューションをご存知でしょうか。これはウェブアプリのAMPP環境(Apach,MySQL,PHP,Perl)を、すぐに使える状態で提供してくれます。開発用途だけに使うのであれば、お手軽キットではないでしょうか。もっとも、実際のサーバ運用には、それぞれを個別にインストールしたほうが勉強にもなっていいと思いますけどね。

そのXAMPPには2つだけ致命的な不具合があります。

1つはセキュリティ設定ページを呼び出すと"FORBIDDEN FOR CLIENT 0.0.0.0"とアクセス拒否されること。この現象は\xampp\apache\conf\httpd.confに以下の1行を追加すれば改善します。

Win32DisableAcceptEx

もう1つ、\xampp\security\htdocs\langに日本語ファイルが足りずエラーが出ます。下記フォーラムよりjp.phpをDLして、フォルダに放り込んでください。

Exxaxon サポートフォーラム

MODx0.9.6の不具合、prefixエラーの修正方法

0.9.6 install error: Checking table prefix `modx_`: Failed! - Table prefix is al(MODx Forum)

MODx0.9.6はクリーンインストール時にDBのprefix(接頭語)エラーが出ます。この問題は0.9.6.1で修正される予定です。

現時点ではinstall/action.summary.phpの152行目を次のように修正してください。

if (@ $rs == mysql_query("SELECT COUNT(*) FROM $dbase.`" . $table_prefix . "site_content`")) {

if (@ $rs = mysql_query("SELECT COUNT(*) FROM $dbase.`" . $table_prefix . "site_content`")) {

"$rs =="と比較になっている部分を"$rs ="と代入形式へ書き換えればOKです。但し、よく分からない人は、0.9.5をインストール後0.9.6にアップデートするのが無難。

MODxサブドメイン対応版

Subsites the MAD [HACK] Ver.2.1.096(MODx Ver.0.9.6版)をリリースしました。

これは、データベース、設定ファイル、キャッシュファイルを、1セットのMODxのみで、サブドメインごとに完全に切り分ける事が出来ます。

メリットは、MODxリソースを集中管理でき、システム部のメンテナンス性があがることです。管理画面に他サイトのページが出て来ないのも保守を容易にします。また、DBを分散させる事が出来るので、負荷軽減にも貢献する事でしょう。

逆に、デメリットとして、同じようなDBテーブルがサイトの数だけ増えるという点が上げられます。これは元々そういう方針の改造なので仕方の無い事ですが、「DBを増やしたくない~」と言う人は使用を控えた方がいいでしょう。

ちなみに、前回おざなりにしていたインストーラー回りも今回はテストしました。余程の事が無い限り問題なく動くと思います。

HTML-lintを使い正確なHTML構文を心がけましょう

当サイトはXHTML1.1を目指して記述してます。しかし、いざ調べてみると、自分でも気づかない過ちを犯していました。

最早、HTML4.01の知識は通用しません。基礎的な変更点と使用可能タグ、HTML4.01とXHTML1.1思想的変化を理解しておく必要があります。幸いXHTML1.1はシンプルでコンパクトな仕様なので、設計思想さえ理解すれば困ることはありません。

  1. タグは文章の意味付けのためだけに使用する。装飾に使うのは望ましくないので、そちらはCSSを利用。
  2. タグのクロスオーバーは解釈が難しくなるので避ける。
  3. 全ての動作はユーザが選べるようでなくてはならない(aタグのtarget廃止)

これらを実践するとSEO的にもよりよいものになると思われます(常に検索上位に露出すると言う意味ではない)

そこで、構文チェックをしてみましょう。以下はHTML構文の正確さを検証するオープンソースのオンラインプログラム。
W3C HTML Validation Service
W3C CSS Validation Service

これらもプログラムであるため、100%正確であると保証されてはいないです。しかし、我流でHTMLタグを打ってる人は一度はチェックしてみましょう。

CIDR形式によるIP範囲でのアクセス拒否方法

htaccessの見直し。百度とコメントスパムをよりスマートに撃退するようにしました。

百度(Baidu)は未だに行儀が悪いです。一応、以前よりは改善され、robots.txtをなるべく読み込もうとしてます。しかし、htaccessで規制したままでは読み込んでくれません。下手すると執拗に巡回BOTがアクセスを試みるかもしれません。

そこで、robots.txtだけは読めるようにしてみましょう。

<Files robots.txt>
    Allow from all
</Files>

もうひとつ、最近来るようになったコメントスパムの規制。今回は特に目立つunknown.ord.scnet.net、unknown.hostforweb.netについて。

これらは逆引きでIPを得られないホストです。どうやら、スパマーはホスト詐称を行っている様子。本来は全く別のホストから攻撃を行っているのでしょう。下記IPアドレスはほんの一例です。

order allow,deny
allow from alldeny from 66.225.201.0/24 #unknown.ord.scnet.net
deny from 216.246.79.0/24 #unknown.hostforweb.net

deny表記のネットマスクはCIDR形式にしてあります。192.168.0.0/255.255.255.0のような形式でもOK。CIDR形式は読みにくく、記述には慣れが必要かもしれません。

詳しくはIPアドレスとネットマスク(@IT)を参照して下さい。

CIDR形式192.168.1.0/255.255.255.0192.168.1.0/24後者の「/24」という表現であるが、これは、ネットマスクを構成する32bitのうち、最上位から24bit目までが1である、ということを表している。「255.255.255.0」という数値を2進数で表現すると、最上位(左端)から数えて24bit目までが全部1で、残り(25bit目から右端の最下位bitまで)は0である。これを「/24」と表現する。