Category :  Others

2008 -07-23 ( Wed )

基本的なセキュリティの脆弱性に関する話です。
検索で来たPHP勉強中の方は、必ず最後まで目を通してくださいね^^

WordPressで、複数のブログを連携したサイトを作っています。
(いずれこちらでもご紹介することになると思います)

左メニューを共通化する必要があり、下の図のように別ファイルに書き出させたHTMLを、各ブログでPHPのfile_get_contents関数を使って呼び出そうとしました。

php_file1.png
※MovableTypeはマルチブログ機能があるため、こういったカスタマイズは不要です

…が、お客様のブログへ持っていったら、メニューが表示されません。
とり急ぎ、PHPをやめてAjaxで対応しましたが、諦め切れません。
サーバー会社に問い合わせてみたところ、このようなお返事が返ってきました。

(内容を一部編集しています)

「readfile」「file_get_contents」関数につきましては、セキュリティ上の問題(外部の任意のスクリプトを実行される危険性)から「allow_url_fopen」を「OFF」と設定させていただいてております。

なお、「.htaccess」ファイルを設置いただくことにより
「allow_url_fopen」をOnに設定いただくことは可能でございます。

わーい、.htaccessでサーバーのPHP設定を書き換えればいいんだね☆

…と一瞬思ったのですが、担当の方は「セキュリティ上の問題」とがっちり前置きしています。何となく展開が予想できます。
allow_url_fopen」が何故OFFになっているのか、きちんと調べてみました。

Read More

Tag
PHP WordPress 

2008 -07-07 ( Mon )

データベースの勉強をするにあたって、PHP5.1から標準で使えるようになった「PDO」を中心に習得しても問題ないかが気になりました。
PDOは安全性が高く、処理が早い関数らしいのですが、未だにPHP4までしか対応してないサーバーばかりだったら、勉強しても無駄になってしまいます。

そこで、前職で調べていた情報をもとに、改めて現在の状況とPHP4との切り替え方法をまとめなおしました。
激しく既出のまとめだと思いますが、これからPHPを勉強する人、PHP4仕様アプリケーションを使っている人の参考になれば幸いです。

7/12:ファーストサーバのPHP対応を更新

Read More

Theme
サーバ  >> コンピュータ
Tag
サーバー PHP 

2008 -07-06 ( Sun )

個人・小規模単位のWEBアプリは、ほとんどが過去ログなどの保管を「MySQL」というリレーショナル・データベースシステムで行っています。

ひと昔前に作られた掲示板などはテキストファイルがベースになっていますが、保管する情報がとても多いブログなどはそれでは追いつかないし、セキュリティ面でも危ないのです。
また、WordPress・MovableTypeの高度なプラグインを作るにも、データベースの知識は絶対に必要です。

そんな、MySQLをPHPで操作する勉強をはじめました。

Read More

Tag
PHP MySQL 

2008 -06-23 ( Mon )

名前からサーチ

一ヶ月以上前に作ってアップしたのに、ここで紹介するのを完全に忘れてました。
誰も来なかったらアフィリエイトにならないじゃんね(´Д`;

キャラクターグッズ・名前からサーチ

健康グッズ・名前からサーチ

※楽天のサイト数制限の関係でサブドメインはやめました
ガッカリ(・ω・`

はっきり言って、アフィリエイトは物量を稼がないとお金になりません。私も時間がありません。
なので、少ない手間でページを大量に増殖できるアフィリエイトサイトを作ってみよう、というテーマで、PHPの勉強を兼ねて2日くらいで作りました。

楽天とAmazonの商品検索APIを引っ張ってくるという、ごくシンプルなものです。mod-rewriteモジュールによるフレンドリーURLへの書き換えなど、実践向けなこともしてみています。
ジャンルが増えてきたら、ポータルを作って各ページにリンクさせるつもりです。

まぁ、FC2tyleのbonkさんが二年前やっていたアフィリエイトサイトの構成とほぼ同じなんですけどねw

Read More

Tag
アフィリエイト PHP 

2008 -05-27 ( Tue )

本日のうぇびんぐさん

WebbingStudioのトップページに、予定していた後半部分を追加しました。

「本日のうぇびんぐさん」というタイトルの通り、よく更新しているtwitter・ウェビンブログ・はてブの更新情報です。

リニューアル前はJavaScriptで更新情報を表示していましたが、今回はPHP5が使えるようになったので、SimpleXML関数を使用しています。

Read More

Tag
カスタマイズ PHP 

2008 -05-14 ( Wed )

姉に誘われて、登別温泉へ行ってきました。

温泉街のお土産屋で、「シャケをくわえた木彫の熊」の置き物を見ながら
「昔は北海道のどの家にもあったのに、最近見なくなったよね」と姉と話していたら、お店のおばさんが、いろいろと勉強になる話をしてくれました。

アイヌの民に火の神様とされていた熊ですが、やっぱり最近は売れないのだそうです。
昔は神聖でさわることもできなかったフクロウの置き物が出てくるようになったのも、「熊と比べると見た目のアレンジを利かせやすい」という事情があるようです。

「これなんか素晴しい作品なんだけどねえ」とおばさんが指差した、名のある職人の熊は、とても丁寧な彫刻がほどこしてあったりするのですが、その価値に見合うとは思えない微妙な値が付いていました。
「名人は80歳を越えている人も多いから、もうあまり観られなくなるかもしれないよ」
とおばさんは言いました。

「で、中堅の職人さんたちはどうしてるかというとね」
とおばさんが指し示したのは、丸太の形を生かしたチェストやテーブルや椅子でした。
道東の牧場カフェや「ジブリの森美術館にありそうな感じ(by姉)」です。

Read More

2008 -05-06 ( Tue )

サーバー設置型ブログツール「WordPress」は、一ヶ月ほど前に最新版の2.5がリリースされました。
おおむね好評なのですが、「投稿スラッグ」の設定に関する仕様変更が、ヘビーユーザーの間で混乱を招いています。

WordPress 2.5 はタイトルを入力して初めて投稿スラッグが編集可能:Yuriko.net

「WordPress 2.5 投稿スラッグ」の検索結果

「投稿スラッグ」とは記事ファイル名、つまり「記事個別URIの拡張子の前の部分」のことです。
この記事だと「blog-entry-522」となります。
無料ブログだと「記事番号」や「日付」が振られるのですが、MovableTypeとWordPressは環境設定でこの部分を任意指定することができ、CMSとしての使用が可能な理由の一つになっています。

しかし、前バージョンでは投稿画面に専用の入力項目があった「投稿スラッグ」が、

  1. タイトル欄に何か文字を入力しなければ編集できない
  2. 設定を変えずに投稿すると、タイトルを全文使用して投稿スラッグを作る

…という仕様に変わりました。

長いURIのできあがり

なので普通に投稿すると、英語以外の言語ではタイトルがエンコードされ、とてつもなく長いURLのページになってしまいます。
記事を書く前にこれを回避するには、少々面倒な操作が必要になります(後述)。

無料、かつ簡単に静的なウェブサイトに近いサイトを運営できる、というWordPressの強みが、少し弱まってしまった印象を受けます。
このような仕様となった背景の一因には、「SEO対策」があるようです。

Read More

Theme
SEO対策  >> コンピュータ
Tag
WordPress CMS SEO 

2008 -04-01 ( Tue )

エイプリルフールも半分終わりました。ブログのデザインもろとも、ここのブログでも半分だけ嘘をついてみます。

昔々あるところに、ひとりの怠け者がいました。
怠け者は働くことが嫌いでした。挨拶はちゃんとできますが、朝時間通りに出勤とか「ほうれんそう」が全然ダメで、普通の会社では使い物になりませんでした。

いちおうは女の子なのでお嫁に行くと言う手もありましたが、ぶっちゃけ怠け者は彼氏いない歴と年齢が一緒でした。

怠け者は何をやっても上手くいきませんでした。25歳を越えた頃には半年くらい引きこもりになってゲームばかりやっていましたが、幸い親が甘くなかったので、いやいやクリーニング屋でアルバイトをしていました。

あるとき、怠け者の(とても働き者な)妹のために、親がパソコンを買ってきました。
パソコンは、怠け者の妹の勉強用の道具になり、同時に怠け者の遊び道具になりました。

インターネッツにデビューした怠け者は、早速自分が好きなゲームの攻略サイトの常連になり、RPGツクールでゲームを作って配布しようというグループに入りました。
グループのメンバーは怠け者を除いて全員高校生男子でした(後見人は大人でしたが)。
高校生男子というのはいろんな人がいるもので、メンバーの中にプログラマ志望者がいました。
怠け者はその男子のサイトを見に行ったり、いろいろなことを教わったりしているうちにWEBデザインにはまるようになりました。

怠け者の良いのは外面だけなので、結局メンバーとは上手くいかなくて二年ほどで解散になりましたが、リーダー男子のいかにも高校生らしい行動力とプログラマ志望者から教わった知識は残りました。

怠け者は、このジャンルなら自分みたいな怠け者でもそこそこやっていけるだろうと思い、怠け者には珍しく行動力を発揮することにしました。
親に頼み込んで学校に通い、WEB関係の仕事に就くことができました。

しかし、そううまくいくわけでもなく、最初の会社は自分が持っているスキルと業務内容が合わず、全く使い物にならんと三ヶ月で放り出されてしまいました。
無能で放り出されるのは仕方ないと怠け者も思っていたのですが、ネームバリューの割にちょっぴりやくざな会社で、「面接に持ち込んできたイラストが盗作っぽかったから」という理由で最後の給料を半分しかくれませんでした。
流石の怠け者もキレて、労働基準監督署に訴えたりして一ヶ月くらい余計にもめました。

怠け者はうんざりしました。
クリーニング屋に戻ろうかとも思いましたが、元々怠け者なので再転職をするのも面倒くさいと思っていました。

そんな時、ゲームのときの後見人が「FC2ブログでテンプレートのコンテストがある」と情報をくれたので
怠け者は無職でヒマなのを利用してFC2にブログを立ち上げました。
http://webbingstudio.blog10.fc2.com/

怠け者は日雇いのバイトをしたりしながら、テンプレートの配布を始めました。
http://webbingstudio.blog10.fc2.com/blog-entry-55.html
秋口にはなんとか時間の都合が付く良いところに雇ってもらい、
http://webbingstudio.blog10.fc2.com/blog-entry-204.html
翌年には調子ぶっこいて激安で個人の仕事をはじめて、同業者に突っ込まれたりしました。
http://webbingstudio.blog10.fc2.com/blog-entry-315.html

それでも怠け者は真のニート(普通の会社に勤めずに収入を得る人)になるために、怠け者にしては随分と努力をしました。
制作会社でボコボコにしごかれたお陰で、WEBデザイナーとしては致命的だったデザインセンスも大分まともになりました。
(注:今日のデザインはネタです)

オンラインショップにはクレジット決済がとっても大事だということも学びました。
http://webbingstudio.blog10.fc2.com/blog-entry-484.html

怠け者は交流とか人付き合いとかが面倒だったのですが、真のニートになるには同業者との繋がりが必要だ!と思い、twitterをはじめました。
http://webbingstudio.blog10.fc2.com/blog-entry-471.html

世間では叩かれていますが、モチベーションの高いクリエイターに会うためにSecondLifeもはじめました。
http://webbingstudio.blog10.fc2.com/blog-entry-486.html

プログラミングは初心者レベルなくせに、開発者の交流会に参加したりしました。
ついったー部:北海道開発オフ部
物覚えが悪く身体で覚えるしかないので、CMSやブログを片っ端からインストールしたりもしました。
http://webbingstudio.blog10.fc2.com/blog-entry-512.html


今日、怠け者はやっと念願の「マスターニート」にクラスチェンジすることができました。
これからは真のニートを貫くために、これまでの倍は好きな仕事や勉強をしなければなりません。
怠けている暇も面倒くさがっている余裕もありません。

なんか選択を間違えたような気がする。
そう思っている、最近の怠け者です。

この記事は半分嘘です。どこが嘘かは内緒です。


追記:
私はダンコーガイを呼んでいる暇があったら、ライブラリを一つ試します。

2008 -02-28 ( Thu )

以前こっち↓で書いたような、現場で活躍する超単純なCMSがあれば良いのにと思います。

ウェビンブログ:CMSって、そんなに大掛かりにする必要ない気がする

いちばん希望しているのは「入力項目をウィザード方式で簡単設定できる」というのと「一般のソフトでもいじれる保存形式」というのです。

XMLなんか割と良い感じですが、素人さんにはやっぱり分かりづらいですし、解析関係のライブラリを搭載していないサーバーがまだまだ多いようです。
となるとExcelで編集できるcsvが考えられますが、ここでRubyのまつもとさんがキレたりどこかの増田さんがキレたりしたことで再燃している「セキュリティ上の脆弱性」論が出てくるわけです。

一般の人が「趣味前提、商用利用禁止」で制作しているものは、そういうシンプルなものも良く見かけるのですが、MovableTypeやWordPressのようなちゃんとしたWEBアプリケーションになると、敷居はいきなり高くなります。
ああいったWEBアプリケーションはデータベースが必須です。大量の設定内容や過去ログを高速で扱える、というのはもちろんですが、それ以前に外部から参照されにくい堅牢さが重視されるのでしょう。

プロのWEBプログラマさんは皆慎重です。セキュリティ上の脆弱性についても良くご存知のようです。例えばPHP勉強し始めたばっかりのど素人の私が
「csvでデータ保存してHTMLに書き出すアプリ作ったー 使っていいよー」
とか言ったら、ムチャクチャ怒られてしまいそうです。
ハッシュでパスワード管理して.htaccess併用してもダメ…ですよね;;

私は仕事柄ある程度のCMSは使いこなせますから、そういったツールは無くても構いません。
でもCMSを求める一般の人たちが欲しいのは、プログラマさんたちがイメージしているものよりもずっと単純なものなんじゃないかなと思います。

俺はプログラミングなら超ベテランだ!って人、作ってくんないですかね。
既にあるなら教えて欲しいし。

Tag
PHP CMS 

2008 -02-11 ( Mon )

みょーむ

一泊二日の慌しいスケジュールではありましたが、三年ぶりに東京へ行ってきました。
一日目はSecondLifeのオフ会に参加、
二日目はFC2ブログ繋がりでShengさんとR'styleさんにお会いしてきました。

札幌駅で見送られたばかりの「みょーむホワイト」の弟に、翌日ミッドタウンで出迎えられる私。

Shengさん、R'styleさんは私と同じWeb周りの仕事をしていて、技術とかものの考え方など尊敬している人たちです。
以前からオフでも会いたいよね的な話になっていたので、私の上京に合わせて時間を作り、名刺交換したり、仕事やWeb制作の話をじっくりしてきました(と言うか与太話を聞いてもらった)。

R'styleさんの名前の読みをずっと「りすたいるさん」だと思ってたんですが。
「あーるすたいるさん」だったー下ー手ーこーいーたーーーorz

Read More

Tag
自薦記事 WEBデザイナー 

What's new