ブログ
重要!そのままにしておくと、電子入札システムが利用できなくなります。
CNETから流れてきた情報です。
マイクロソフトは、2012年1月よりインターネットエクスプローラーの更新を自動化させる旨の発表がありました。
http://japan.cnet.com/news/service/35012069/
既にIE6の追悼サイトとも言える、IE6カウントダウンというサイトも開設しました。
http://www.ie6countdown.com/
この更新の自動化により、古いバージョンのインターネットエクスプローラーは、強制的に最新のバージョンに更新されてしまいます。
セキュリティ面を考えれば、非常に良いこととも言えますが、この更新を適用してしまう事で、各省庁や自治体の入札で利用されている、電子入札システムへの対応ができなくなってしまいます。
宮城県の場合、電子入札システムで利用できる環境は
32bit版 WindowsXPのインターネットエクスプローラー6と7
32bit版 WindowsVISTAのインターネットエクスプローラー7
となっておりますが、
自動更新が適用されてしまうと、XPでは8・VISTAでは9の現行の最新のバージョンにグレードアップされてしまいます。
宮城県の電子入札システムはインターネットエクスプローラー8以上の環境では動作できませんので、この自動更新を適用しない対策を講じなければなりません。
マイクロソフトのサイトから自動アップデートをブロックするプログラムが配布されていますが、今回の更新よりも前にリリースされたものですので、正しくブロックできるかどうかも不明です。
http://www.microsoft.com/download/en/details.aspx?id=179
http://www.microsoft.com/download/en/details.aspx?id=14149
かなり乱暴な方法ではありますが、間違いの無い対策としては、Windows Updateそのものを止める必要があるように思われます。
この方法ではセキュリティ面での不安はありますが、自動アップデートが適用されて電子入札に参加できないという状況に陥るよりはまだ良いと考えます。
また、社内でその対応が難しい場合には、当方にてお客様の会社に出向き対応させていただきますので、ご一報下さい。
DrupalのログインURLをカンタンに変更する方法
超!ご無沙汰でございました。
特に書くものが無かったというよりも、その気にならなかったってのがホントのトコロでございました。。。
さて、表題の件でございます。
Drupalではログインする為のURLはサイト/user となっております。。
Drupalをいじっている者であれば、誰でも知ってる事URL。
普通に考えて、都合が悪いですよね。。
そこで!
このログインURLを書き換えてしまおう!!しかもカンタンに♪
さて、その方法はと申せば。。
超カンタンです。
URLエイリアスの管理ページから、 /user のパスに別のエイリアスを当ててしまう。。
そして、テキトウなページを作成して、そのページにuserのエイリアスを当てる。
たったこれだけ!
大切なポイントは、テキトウなページを作成してuserのエイリアスを当てておく事です。
これをやらないと、システムパスにアクセスされたら表示されてしまいますので、ご注意を!
CoreServer・XREAサーバーでPHPをCGIモードで回し場合のCronの実行に関して。
やたらと長いタイトルですが。。
CoreServer・XREAサーバーでPHPをCGIモードで回し場合、拡張子がPHPのファイルを走らせる事ができないケースが出てきます。
drupalの場合、定期的でも不定期でもcron.phpを回してあげる必要がありますが、CGIモードの場合には、回ってくれません。
PoormansCron使えばいーじゃん!と言われてしまえばそれまでの話しですが、そこをなんとか。。と。。
解決策はじつはかなり簡単です。
実行させる.shの中には
/usr/local/bin/php /virtual/アカウント/ファイル設置ディレクトリ/cron.cgi
exit
と。
あとは、cron.phpをcron.cgiにリネームするだけです。
.shから、これはPHPとして回すんだからな!との命令があるので、ファイルの拡張子はなんでも構わないんですよ。
但し、不思議な事にPHPだけは不具合が出てしまいます。
やればやるほどDrupal。
Drupalでサイトの作成を行う上でのネックになりそうな携帯電話への対応。
以前から、モバイル対応のモジュールやテーマ等もありましたが、それだけで充分な携帯対応ができてたかと言えば、ほぼNOだったと思います。
今回、あるサイトをDrupalで作成し、携帯への対応もかなりがんばりました。
そこで一番よく働いてくれたのがコンテンツテンプレートモジュールです。
このコンテンツテンプレートモジュールは、コンテンツタイプ毎に出力するコードの制御を行えるモジュールで、ティーザー・本文・RSSとそれぞれを違った形で出力させる事もできちゃうモジュールです。
コンテンツテンプレートモジュールを利用するにはCCKモジュールの使用が前提となります。
CCKで定義したフィールドのデータを整形して出力させる事が可能になります。
Drupalの場合、CCKで定義したフィールドのデータにそれぞれ個別のクラスが与えられた形でHTMLコードが出力されますが、無駄にタグが増えてしまいますので、それらの不要なタグを削除したり、任意のタグや文字列を追加して出力させられるようになりますので、CSSでの表示の整形もかなり好き放題やれるようになります。
この、コンテンツテンプレートモジュールでも、PHPコードを利用できますので、独自の処理を追加したりという事も可能になってきます。
今回のサイトでは、このコンテンツテンプレートモジュールの中で、携帯とPCとで違うコードを出力させる処理を入れる事で振分けを行う事ができるようになりました。
そして、その次に頑張ってくれたモジュールはVIEWSモジュールです。
VIEWSモジュールは、このモジュールを使わなければ、Drupalの魅力に気づく事ができないほど、必要不可欠なモジュールです。
記事一覧の生成などにもって来いのモジュールなのですが、こちらもCCKで定義したフィールドをチョイスして表示させる事ができるモジュールです。
今回のサイトでは、PC用と携帯用とそれぞれ別々の記事一覧を生成させ、PC用・携帯用でそれぞれどちらを表示させるかをメニューやブロック、そしてテーマで切替えるようにしました。
今回、携帯用に使用したテーマはjp_mobileというテーマで、内部はUTF-8、入出力はS-JISに変換するという、日本の携帯電話事情に合わせた素晴らしいテーマです。
また、このテーマは、携帯キャリア毎に出力するヘッダをも変えてくれる機能まで備わっています。
そしてそして。PC・ケータイの振分けを行ってくれるモジュールはMobile Toolsモジュール。
こちらのモジュールで、どのテーマを適用するかの判定を行うのですが、ケータイでも今ではiPhoneやExperiaなどのスマートフォンが多くなってきて、その判定で困るかな?とも思ったのですが、それらもOS毎に判定を行い、どのテーマで出力させるかを細かく設定できるようになってます。
今回のサイトの制作をやってみて、Drupalでは、最初は無理か?なんて思った事もできてしまう柔軟さを再確認しました。
とにもかくにも、CCK・コンテンツテンプレート・Views。この三つのモジュールは必須中の必須です。
このモジュールがあれば、だいたいの事ができてしまうのがDrupalです。
SEO屋さんがSEOを否定しちゃったようです。
このところ、FAXDMやら営業電話やらがやたらと来ます。
それが、SEO屋さんから来るんですよ。
でも、ちょっと待って下さいよ?
SEOをやって、順位が上がれば、そこからどんどん売り上げが上がるというようなお話をよくされるんですけど、、、
じゃあ、なぜ。電話で営業掛けて来るのでしょうか?
FAXDMを送ってくるのでしょうか?
因みに、マッドスキッパーのサイトは、狙ったキーワードでGoogleでは2年近く1位ですし、YAHOOでも1ページ目に定住するようになってしばらく経ちます。
SEO屋さんから、電話が掛かってきた時にはちょっと聞いて見るんですよ。
「何で調べてご連絡なさってますか?」と。
そうすると「検索エンジンで検索しました」なんて言う業者は今まで1個もありませんでした。
SEOを全面的に否定するつもりはありませんが、表示順位と売り上げには直接の関係はありません。
上位表示を実現できたとしても、そのサイトに魅力が無ければ、何の意味も無いんですよね。
以前、ある著名な方が仰ってましたが、自社のサイトを持たずして、上位に出た記事に名前がある事。これ以上のSEOは無い。と。
飲食店等の場合、顕著なのですが、各個人が書いているブログの中で褒められる事が記事としての信憑性が高い。
通常、自社サイトでは自社を持ち上げるような記事になるのが当たり前ですので、どんな良い事を書いていても、信憑性の点で難がありますね。
そして、サイトに訪れた人の心理モードとしても、買う気マンマンの人は、殆どの場合、ヤフオクか楽天市場、価格.COMなんかで一円でも安く、一分一秒でも早く買えるページを探しているはずです。
その商品の詳細な情報を調べて、サイトにたどりついた人というのは、心理的なモードとしては、買う気マンマンではなく、商品についてより深く知りたいというモードの方です。
少々話が逸れましたが、、、、
SEO業者が自社サイトで思うように売り上げが上がっていないからこそ、電話営業やFAXDMを送ったりなどの営業をしているんですよね。
それって、SEOなんてやったって売り上げには繋がらないって事をSEO業者自らが証明している事になるのではないかぃ?と真剣に思います。
「できない事」を「できる」と言わない。
あるマッチングサイトを眺めていて、気になった案件がありました。
「ショッピングカートをレンタル」するネットショップ開業サービスの制作」
内容を見ると、機能と価格のバランスが取れていない案件でした。
この案件は社名公開で募集されている案件だったので調べてみましたが、その社名から検索でたどり着いたサイトには「WEBシステム開発」と書かれてあります。
看板では一応システム開発ができると言いながら、マッチングサイトで無理な金額で外注しようとしているその姿勢には激しい憤りを感じました。
「できない事」を「できる」という業者は、単なるブローカーでしかありません。
確かに、全ての業者がそうではありません。
しかし、そういうブローカー的な業者が比較的多いのも、このウェブ業界の真実であり、開発されるシステムや業界全体の価値の低下を招いているのも事実で、
検索でヒットしないサイトが溢れたり、安かろう悪かろうで使い物にならないシステムが氾濫するのも、この業界全体の体質が原因です。
「できない事」を「できる」と言うのは、嘘吐きである事を忘れてしまっている業者が多過ぎますね。
ActionScriptでテキストのアンダーラインの太さを自由自在に。
ActionScriptで開発をする際には、リファレンス本を片手に、それでも不足であれば、検索して探し出すのが普通だと思いますが、
ちょっと面倒な処理について検索すると、Adobeのサポートサイトしか見当たらないのも事実ですね。
そして大変申し訳ないのですが、Adobeに限らず、メーカーのサポートページというのは、なぜか理解不能なコンテンツが満載で、殆ど使えないのも事実ではないでしょうか?
「その説明」を理解する為に、ある程度のスキルが必要になっているので、サポートサイトとしての目的は殆ど果たせていないような気がします。
そんな中、現在製作中のActionSriptのシステムでクライアント様からテキストのアンダーラインを太くしてほしいとの要望を受けました。
ActionScriptでのアンダーラインの設定というのはあるのですが、太さは一定で変化させる事ができません。
flash.text.engineを使えば、underlinethicknessで太さを制御する事も可能ですが、面倒な処理を入れないと文字化け必至ですので却下。
あれこれと考えてるうちに、クライアントさまからの要望は、アンダーラインとして見えれば、要素としてはなんでも良いのだという事に気がつきました。
今回のシステムの場合、表示させるテキストは外部ファイルから動的に取得したテキストになりますので、その時々で全体の長さは変化します。
ですので、一定の長さのラインを常設するという手法は使えない。
そこで浮かんだ結論。
表示させるテキストと同じフォント同じサイズで背景色を文字色と同じものにし、その上に本来表示させるべきテキストを少し上にずらして表示させるという考え方です。
以下がその部分のソース
まず、テキストフィールドを一つ宣言
var txt_b_Name1:TextField = new TextField();
txt_b_Name1.text = no_name;
txt_b_Name1.setTextFormat(bnmFmt);
txt_b_Name1.x = 1.00
txt_b_Name1.y = 43.65 // ここで縦方向の座標位置を決める。
txt_b_Name1.width = 574.95
txt_b_Name1.height = 77.85
表示するテキストに合わせて、テキストフィールド大きさをリサイズ。
txt_b_Name1.autoSize =TextFieldAutoSize.CENTER;
txt_b_Name1.background = true;
背景色をテキストと同じ色に設定。
txt_b_Name1.backgroundColor = 0xFFFFFF;
その部分を表示させる
addChild(txt_b_Name1);
もう一つのテキストフィールドを定義
var txt_b_Name:TextField = new TextField();//
txt_b_Name.text = no_name;
txt_b_Name.setTextFormat(bnmFmt); ←同じテキストを表示
txt_b_Name.x = 1.00
y座標の設定でアンダーラインの太さを制御。
txt_b_Name.y = 41.65 ←2ほど上にずらす。
txt_b_Name.width = 574.95
txt_b_Name.height = 77.85
txt_b_Name.background = true;
ここでは、テキストの背景色を本来の色に設定
txt_b_Name.backgroundColor = 0x550000;
定義したテキストフィールドを表示させる
addChild(txt_b_Name);
上記の手法でアンダーラインの太さの制御を簡単にする事ができました。
この方法の利点は、まず、カンタンな事。
そして、本来のアンダーラインとは違うものなので、アンダーラインであるが故の制限を受けないのも利点ではないかな?
※本来のアンダーラインの場合、テキストと同じ色でしか出せませんが、この手法の場合は、色も好きに変更できます。
静的なHTMLファイルによるサイトの脆弱性
ウェブサイトのファイルを改ざんするガンブラー(Gumblar)の流行で思った事。
ご存知の通り、このガンブラーはサイト内(サーバー内でアクセス可能な部分)に設置されたファイルに特定のコードを挿入します。
挿入されるコードは /*LGPL*/ try から始まるコードですが上記の文字列でコード挿入が行われるのはJavascriptファイル(*.js)です。
ディレクトリの位置は関係なく、FTPで接続した際にアクセス可能なファイル全てにコードを挿入します。
そして、indexとdefaultという文字列を持つファイルにも同様にコードの挿入を行いますが JAVASCRIPT以外のファイルには、<script>LGPL*/ tryと、スクリプトタグから始まるコードとなります。
例えば、このコードの挿入が行われたファイルがPHPファイルの場合、ファイルの最後の閉じタグ「 ?> 」を入れない事でスクリプトの実行を阻止できますね。
なぜ阻止できるのか。
PHPファイルであれば、<script>/*LGPL*/ tryの最初の「<」の部分でエラーとなってしまい、ページ自体を表示させる事ができなくなってしまいます。
これが、静的なHTMLファイルの場合、、<script>/*LGPL*/ tryの部分はファイルの構文にどんなミスがあろうともブラウザに吐き出しますので、セキュリティホールのあるPCで閲覧された場合には、感染させてしまう事になります。
静的なHTMLファイルで作成されたサイトは、こんなにも脆いものなんです。
注意喚起: Web サイト改ざん及びいわゆる Gumblar ウイルス感染拡大に関する注意喚起 (更新)
これは大変なウイルスです。
PCからFTP情報を取得し、ウェブサーバー内のjavascriptにコードを追加してしまう。
コードを追加されたサイトを見たPCが対策をされていない場合には感染してしまいますので、更に被害拡大。
PCにはウイルスソフトを入れて居ない方は少ないとは思いますが、今回のウイルスはWindowsマシンだけではなくMACにも感染してしまうとの噂です。
WEB製作者の中にはMACユーザーがかなり多いので、猛烈な勢いで拡大するのではないかと、危惧されます。
注意喚起: Web サイト改ざん及びいわゆる Gumblar ウイルス感染拡大に関する注意喚起 (更新) - [JPCERTセキュリティ情報]
DrupalでタクソノミータームのRSSを隠す。
DrupalはRSS配信の機能がモノスゴク長けています。
タクソノミーモジュールで定義したターム毎にページを自動生成し、更にはそのターム毎のRSSも配信します。
そのRSSを受ける側にとっては、大変便利な機能ではあるのですが。
レアなケースですが、RSSのURLを隠したい場合もサイトの運営の手法によっては発生しますね。
ただ今、当方で作成しているウェブサービスのサイトがありますが、このサイトの場合、ターム毎のRSSは配信して欲しくないんです。
という事でどこをどういじれば、ターム毎のRSSのURL隠せるか。
なんとか解決する事ができました。
タクソノミーモジュールの中のtaxonomy.pages.incの45行目(6.15)
drupal_add_feed(url('taxonomy/term/'. $str_tids .'/'. $depth .'/feed'), 'RSS - '. $title);
ここをコメントアウトする事でOKです。
但し、ターム毎のページにエイリアスを適用して、そもそものタームのURLも隠さないと、Drupalを知っている人には、RSSのURLがバレてしまいますので、ご注意下さい。
ターム毎のRSSのURLは隠しますが、生成はされていますので、ご心配なく。




