Life is Adventure!

Plugins❖  ScriptSecurity

WindowsローカルでPHPスクリプトをテストしようと思って新規にApacheとPHPをインストールした。XP/Vistaで使ったが、Windows7パソコンでは初めてである。Apache/phpともにバージョンがいくつもあってどの組合せが動くのかが分からなかった。最新版Apache2.4.6 (2013-07-22)、PHP5.5.5はWin32/Win64で動かなかった。

ドキュメントでは、「Windows Apache2で使う場合は、PHP 5.3 VC6 あるいは PHP 5.2 VC6 を選びます。」と書いてあったが、VC6がなかったので、PHP5.3.7VC9を選択し、Microsoft 2008 C++ Runtime (x86)もインストールしたが動かなかった。

動いたのは、Apache2.2.25 + PHP5.4.21 だった。C:/Apache/とC:/php/にインストールし、Apache/conf/httpd.confに下記3行を追加した。
LoadModule php5_module "C:/php/php5apache2_2.dll"
AddHandler application/x-httpd-php .php
PHPIniDir "C:/php"

最初にApache2.4.6を設定したので、php5apache2_4.dll になっていた。この場合、Apache Service MonitorでRestartするとfailedになる。Test Congurationで見ると、”Syntax error on line 494 ... Cannot load ...” になっている。php5apache2_2.dll にして正常動作した。

iPad/Androidで使えるスクリプトを見直している。iPhone/iPad/Macはフラッシュをサポートしていないので過去に作った写真スクリプトのほとんどが動かない。フラッシュが主流になったときに写真・動画用に採用したスクリプトのほとんどがフラッシュ対応だったためである。PHPスライドショーは問題なく動く。

お気に入りのひとつにSimpleviewerがある。個人用に無料で使え、いろいろな写真ギャラリーを作成できる。。過去に作成したページを検索すると2007年2月28日のswfobject.jsと2009年9月12日のsimpleviewer.swfを使っている。Linuxで採用されていたものをWebサーバで使い始めた。

これを使って作成した写真サイトが、iPadでは表示できない。, Android2.xでは動いていたのにAndroid4.xでは動かなくなった。またGoogle Chromeではローカルで使えなくなった。こうした問題を解消するために、パソコンからだけでなく、スマホやタブレットからでも使えるスクリプトに書き換え中だ。

Simpleviewer2.3.1

最新バージョンが、フラッシュ非対応のiPhone/iPadでも使えるようになっていることがわかった。swfobjectではなく、JQuery対応のようだ。JS/CSSをBootstrapに切り替えているので、これとの相性もよさそうだ。

しかし試行するうちにいくつかの問題も発生した。写真ギャラリーはローカルとウェブでおなじHTMLファイルにしたいのだが、Google Chromeローカルでは最新Simpleviewerが動かない。古いフラッシュ版のSimpleviewerは問題がない。またJuiceboxも動かないので不便である。ローカル/ウェブともに/assets/...で参照して共通化したいが、ChromeはOKなのにFirefoxは駄目ということも分かって共通化のための試行を繰り返してきた。

最新Simpleviewer2.3.1で、use Flashパラメータがあることが分かった。trueにすればローカルでも使える。iPad用には、これをfalseに書き換えれば大丈夫である。共通化はあきらめて、パソコンWindows/Android用とiPad用の二本を作成することにした。

Flickr写真ギャラリー

2013年9月からFlickrを再活用することにした。このFlickrにアップした写真をSimpleviewer2.3.1で扱えることも分かったのでいくつか試作した。

〔例1〕Flickr最新の写真ギャラリー  
〔例2〕Elmblog最新の写真ギャラリー  
〔例3〕タグ"熊野古道"の写真ギャラリー  
※Flickrサーバやネットの混雑で表示が遅くなる場合がある。また"Cannot load..."、"Image not found..."、"cannot find usename..."となるときがある。リフレッシュすれば表示される。
※指定した写真だけを表示することもできる。svBuilderを利用すればドラグ&ドロップで写真を選べる。

2012年Gallery3.0.4をsyskaiobサイトにインストールした。昨日見直したら下記の不具合が発生した。

  • 言語オプションを日本語に変更するためにadd/updateを実行すると下記のエラーが発生
    "@todo TRANSLATIONS_FETCH_REQUEST_FAILED HTTP/1.0 301 Moved Permanently"

    〔対策〕modules\gallery\helpers\l10n_client.php, line 24を下記コードに書き換えた。
    return "http://galleryproject.org/translations/$path";

  • サブアルバムに数十枚の写真をアップロードしたとき、サムネールが生成されない。
    メンテナンスモードで画像の再構築をしても修復できなかった。十数枚のアップロードは正常に処理された。

    〔対策〕ImageMagickからGDに変更後、新たに写真をアップロードしたら正常処理された。既存の写真のサムネールは無効のままだ。ImageMagickが機能していないことが分かった。

  • Some of your modules are out of date. Upgrade now! が表示表示されたので Upgradeしたら、下記エラーが発生した。
    Kohana_404_Exception [ Page Not Found ]

Flowplayer HTML5 最新版5.4.0 (2013/4/13)が、iPad Chromeをサポートしたというので試したが動作しなかった。iPad Safariでは正常に動作した。
「幅広い端末、複数のブラウザをサポート」とうたっているが、組合せによって再生できないケースが多い。 →詳細

  • HTML5 video用なのでスクリプトのサイズが小さい。flowplayer.min.jsは42KBである。ただしjquery.js(96KB)が必須である。
  • mp4ビデオの読み込みに数分かかることがある。すぐに再生できるmp4もある。
  • iPad Chromeでは再生できなかった。iPad Safariでは再生できる。
  • プレイヤーと動画の大きさの調整がしにくい。data-ratioではなくwidthとheightで指定するほうが分かりやすいがこの属性は無視さ れる。
  • 無償版ではflowplayerロゴが表示される。有償版はドメイン当りUS$95、ドメインの制限がないものはUS$995である。
  • キーボードショートカットが使えるのが便利だ。
    ↑音量を上げる、m ミュート、→スキップする、shift+→早送り、f フルスクリーン表示など。ただしChromeとSafariだけでサポートされている。
  • プレイヤのスキンを自分好みにデザインできる。 〔例〕Playlist Playlist1 Playlist2
  • 動画を選択してプレイリストを作成し、連続再生できるスクリプトもある。
  • embedコードを取得できる。ただしposterは含まれない。
  • 動画再生コードを埋め込んだHTMLサンプルがいくつか用意されている。
    〔例〕 inlay, overlay, tooltip, grid

写真を拡大表示するときに使うスクリプトで2010年から利用。昨年末にV2になっていることを知ったので見直した。写真だけでなくテキストやWebページ、YouTubeなどの動画もポップアップ表示できるようになった。ただしHTML5 video対応はされていない。

コントロールボタンの機能が追加され、スライドショー表示ができるようになった。iPadでも機能するので、長年愛用したImageRotatorの代わりに使える。

001 002 003 004 005

Fancyboxカストマイズ

続きを読む "fancybox" »

数あるカウンターのひとつ。記録を見ると2007/8/21に設置した。この5年間のユニークな訪問者数は40万人を超えている。このサイトはWeb制作日誌のようなもので、友人・知人に教えることはあるが一般公開はしていない。したがって、ほとんどの訪問者はネット検索で来たと思われる。

unique visitor counter

StatCounterはアクセス数の多いページも教えてくれる。今月の上位3件は下記のとおり。

過去に十指にあまるカウンターを試し、動くことを確認したらそのまま放置した。Google analyticsも登録したが年に1~2回思い出したように見るだけだ。

このサイトのトップページにはNeoCounterとやらを設置し左側下に表示している。国別のユニーク訪問者数をカウントして表示してくれる。国旗別にスクロール表示するので飾りに良い。訪問者数は3万人、たぶん2010年頃からだと思う。それ以前のアクセスが多いのは、2007-2009にWebやVista関連の記事を多く書いたからだろう。

話を戻すが、数多くの無料カウンターがあってブロッガーたちが利用しているが、数年でサービス停止になったりする。私はもとより知的好奇心で設置して試したのだが、Perl, PHP, Javascriptと変遷してきた。

Perl(CGI)を使ったカウンター(ほかのスクリプトも同じ)は、マルウェアに汚染される危険があって要注意だ。日本製のFUxxxx Acclogカウンターがウィルス感染して、サイトに悪影響を及ぼしたため、サイト運用がストップしたことがあった。それ以来ほかのスクリプトについてもこれまで以上の注意を払っている。

先月からGoogleAppsを再活用し始めた。個人的にDocs&Spreadsheetと呼ばれた頃から使っており重宝してきた。5年経って、Googleが買収したソフトが全面的に見直され、やっと統合された製品になって提供されるようになった。気がついたら世界で300万社が使っていると言うが、私のような個人ユーザも含むから、実際に日々の業務に使っている企業はそれほど多くはないのかもしれない。とくに日本では少ないと思われるが、大震災以降クラウドサービスが見直され注目を浴びるようになったのでこれから増える傾向にあるようだ。

それはさておき、GoogleAppsの活用でメールとドキュメントが中心だったのは、サイトではスクリプトが使えなかったからだ。HTML使用もかなり厳しく制限されているので、自分の思うようなページが作成できなかった。それが、Googleアカウントで複数のサイトを勉強を兼ねて作ったが5年も放置した理由である。写真(Picasa)や動画(YouTube)の貼り付けは以前からできたが、HTMLを書くようには使えない。

その結果、Moovable Type 3.35を使い続けることになっている。MTも3.xより新しいもの(4.25, 5.01)は制限が厳しくなり使うのが面倒になった。もちろんHTMLやスクリプトを使わない人には使いやすくなったと言うことだが。


今年になってGoogleが提供サービスの機能、デザインを全面的に見直しており、新しく生まれ変わろうとしている。Facebook対抗のGoogle+を9月21日に一般公開し、急速にユーザ数が増えている。11月になってGoogleAppsでも使用できるようになった。デザインも一新され分かりやすく使いやすくなった。

サイトは基本機能は同じだが、編集ページや共有設定が分かりやすくなった。これなら初心者でも使えるのではないかと考え、友人たちに紹介しようと思い立った。先ずは同窓会、懇親会の写真を掲載するホームページを移転することにした。Movable Type、Wordpress、Googleサイト(数年前のもの)で作ってきたものだが、写真や動画は手作りで、サイトにはiframeで貼り付けてきた。こういうのは面倒だし、友人たちは使えない。

GoogleAppsのコアスイートで、今後はサイトが有用だと思う。Googleドキュメント(文書、表計算、スライド)、写真(Picasa)、動画(YouTube)などが手軽に貼り付けられるからだ。ただし、初心者にはやはり学習障壁がある。Googleヘルプに詳細な説明があるが、文字だらけで分かりにくい。読もうとする気力、好奇心、学習意欲のある人でないと理解するのはむずかしいと思う。

過去何回もGmailやドキュメント、サイトなどを紹介してきたが、「伝える」ことの難しさを痛感してきた。メーリングアドレスでさえ「難しい」という苦情が多かったものだ。いまだに送信先にメルアドを何十個も書く人がいる。他の人に迷惑をかけるリスクがあることを知らないからだ。

話がまた逸れたが、GoogleApps最新の「サイト」であれば使えるかも知れない。Googleサイト説明ドキュメントを補足する説明を「サイト」に書き始めた。「Sigmatown案内」として一般公開することにした。専修のクラウド関係の講演用にいくつかのサイトを作って実証実験をした結果、「これは使える」との感触を得たからだ。

ひとつの問題はスクリプトやembedなどのHTMLタグが使えないことだ。ヘルプやガイドの説明に、ポップアップの説明テキストや画像、トグルできる説明テキストなどが使えない。Googleプレゼンテーションの貼り付けは簡単にできるが、最小サイズが大きすぎ、変更もできないのが不便だ。動画も自由に貼り付けることができない。

そういう制限があるのは仕方がない。なぜならスクリプトにはセキュリティリスクがあるからだ。そこでGoogle社が知恵を絞って考えたのが、Google Apps Scriptだ。ユーザがAppsスクリプトを作成してほかのユーザも利用できるようにした。

ここで大いなる誤解があった。「Appsスクリプト」という用語から、てっきり「Javascript」だと思った。これは便利だ!と喜んだが、それはぬか喜びだった。Javascriptとは別物だった。よく考えれば当然なのだが、素人考えではそうなる。セキュリティリスクを排除するために、Google社はAppsで使える独自のスクリプトを考案し提供を始めたと言うわけだ。また勉強しないといけないが、やることがあって退屈しなければ長生きできるというから良しとしよう。

オンライン雑誌の記事をブログに転載するためのボタンが増えてきた。Webサイト制作でJavascriptを使って、XMLの内容をWebに反映することができるが、同じ仕組みを使えば容易に実現できる。

SNSに組み込めば、たとえばYouTube動画のURLを書けば、その動画を再生するガジェットをページ内に表示することが容易に実現できるのと同じだ。YouTubeの動画組み込みコード生成にヒントを得て、提供されるようになった。

下記は、マイコミジャーナルの「ブログ転載」の例である。マッシュアップが簡単にできる例でもある。

http://journal.mycom.co.jp/news/2009/05/29/005/index.html

この記事にあるようにGoogle Web Elementsが発表された。「発表」といっているがそれはカンファレンスで紹介されたということで、機能的には特に目新しいものではない。機能そのものはずいぶん前から使えるようになっている。Google Sitesでは標準的な機能として、たとえばDocsファイルの内容を簡単に貼り付けられるようになっている。


これまで100を超えるオープンソースソフトや無償のフリーソフトを、サーバあるいはパソコンにインストールしてきた。評価だけに終わったのがほとんどだが、日々の作業の中で重宝しているソフトもたくさんある。

実用化しているソフトは、定期的にアップデートする必要がある。パソコンにインストールしているソフトをカストマイズするのは、各ソフトが提供しているカストマイズ可能な機能だけで、ソースを変えることはほとんどない。ところが、サーバソフトの場合は、PerlやPHPという言語(スクリプト)で書かれていることが多く、ソースを変更してカストマイズすることが日常茶飯事になった。

続きを読む "SimpleScripts" »

洒落たWidgtsを提供している。試用期間14日後は有償である。7種類あり、ひとつ年間€16.95(約2500円) 全部買うと€39.95(約6000円)になる。毎年6000円支払うのは高すぎるようだ。広告なしだと€209.95と5倍の価格になる。機能的にはJavascriptで自作できるだろうが、デザインがいいので、デザイン料を払うということだろう。

続きを読む "NeoWORX" »

ポップアップウィンドウ(小窓)やウィジェットは便利ではあるが、いくつも開くと画面が混雑するだけでなく、元のウェブページが分からなくなって混乱することがある。ここで紹介するのは、ページ内に留まる移動可能なウィジェットである。サイズもマウスで変更できる。ページ内で使っている用語の説明や補足説明、案内メニューなどに使える。FF1+ IE6+ Opera 8+

  • DIVとCSSを使って実装しており、カストマイズが容易である。
  • 4種類ある。1) 組込みテキスト、 2) 隠れたDIVを使ったHTMLページ、 3) IFRAMEを使った外部ページ、4) Ajaxを使った同じサイト内の外部ページを使える。
  • 開くときの属性、すなわち小窓の大きさ、位置、サイズ変更の可否などを指定できる。
  • リンクまたは自動的に複数の小窓を開ける。
  • 開いた後で、ページ内容やサイズ、位置を変えることができる。
  • Firefox 1.5/2.x+, IE6+, Opera 8+, Safari 2で動作する。

DynamicDrive

これまで見よう見まねでスクリプト(アプリケーション開発用言語で書いたプログラム)を改変して使ってきた。Webには無料で使える、ライセンスフリー(非営利目的での使用、改変、配布が許可)のスクリプトがたくさんある。昔はPerlが主流だったが、その後Javascript,とphpが多く使われるようになった。私は数年前からJavascriptとphpを使っている。perlは新規に使うことはなくなった。Javascriptは手軽で、初心者でも比較的かんたんにかけるので便利である。オープンソース開発で使われる言語は、phpが主流になっているので、phpスクリプトをよく使うようになった。

続きを読む "Script学習" »

window.promptを使ったパスワード認証で、腑に落ちない現象が発生している。
Vistaで、Firefoxで正常に機能するが、IE7ではpromptが機能しない。
XPでは、Firefoxでも機能しない。バージョンは2.0.0.12だ。
調査中・・・

フラッシュビデオを埋め込むスクリプト Embedding Flash
<div id="flvplayer"></div>
<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">
      var s1 = new SWFObject("mediaplayer.swf","mediaplayer","420","315","7");
	s1.addParam("allowfullscreen","true");
	s1.addVariable("width","420");
	s1.addVariable("height","315");
	s1.addVariable("file","sample2.flv");
	s1.addVariable("image","sample2.jpg");
	s1.write("flvplayer");
</script>

SWF Player: swfファイルを埋め込み再生するときは、下記のスクリプトを使う。
 Start Stop  SWFObject
<div id="swfplayer"></div>
<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">
   var so = new SWFObject("flower.swf", "mymovie", "420", "280", "8", "#336699");
   so.write("swfplayer");
</script>

続きを読む "FLV Playerの埋め込み" »


counter