トップ 最新 追記

Eroge RSS Checker 運営記録

Categories | メモ | 運営 | 感想 | 記号変更 | 雑記 | 雑文 | 思案

合計: 今日: 昨日:
2004年
12月
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

rss1.0

ここは、「Eroge RSS Checker」に関する運営の記録を書きとめておく場所です。第三者に説明する文体で書いていますが、大半は備忘録です。

  1. スクリプトを汎用化して公開する。---最終目標
  2. CSSを論理的に使う。---努力目標
  3. デザインを改善する。---努力目標
  4. 攻略の完全・不完全を出来る限り判別する。---努力目標
  5. 管理要員用のページの充実。---努力目標
  6. JANコードの入手先を探す。---躊躇中
  7. ブランドの複数登録。---大規模改修のとき
  8. 登録を簡潔にしつつ、marker登録を半自動化する。---暇なとき

2004-12-13 [J] 自動化を急ぐ理由

_ [運営]自動化を急ぐ理由と課題

数ヵ月後にインターネットが使えない環境に1ヶ月ほど身を置く予定が出来たのがその理由、マグロ漁船に乗るわけではない。で、色々やっているわけ。いたずらにもある程度耐えるようにもう少し工夫する予定だが、放置状態でいたずらに耐えるのは非常に難しい。

助っ人でも頼みユーザーより一段上の権限で作業をしてもらえれば楽だが、それは最後の手段にしようと思う。最終確認以外の全ての作業をユーザーに任せればほぼ問題なく運営できる。問題は、サイト移転や開始・終了記号の変更をどうするかにある。サイト移転は投票数で判断するようにすれば

一応は解決できるが、開始・終了記号の変更には正規表現の知識がいる。それほど高度な知識でもないのだが、分かる人は少数だろう。しかも、この変更は他のなんの変更よりも影響が大きい。もし、間違ったものが指定されれば取得できない、最悪無意味なデータを毎回

取得し続けることも考えられる。その権限をユーザーサイドにどんな方法だろうと渡すことは非常に危険だろう。しかも、これが1ヶ月に数サイトで必ずある。気まぐれに使っている、文字、記号を元に勝手に取得しているのだから当然だろう。ということでこれが大問題。


2004-12-18 [J] Eroge RSS Checkerの壊し方

_ [運営]脆弱性の披露

PHPに複数の深刻な脆弱性、最新版へのアップグレードをというニュースが流れてきた。当然当サイトにも当てはまる。後で後悔しそうだが、「Eroge RSS Checker」の脆弱性についていくつか書いてみよう。

まず、プロキシによるIP偽装には無防備だ。Yes/No方式の決定システムはIPをチェックしている。したがって、プリキシランチャーなどを使えば容易に不正な結果を得る事が出来る。これに対する対抗手段はないと思われる。例えば、クッキーを食べさせ、クッキーが存在しているパソコンからは同じ投票を

受けないようにする。だが、クッキーを拒否する設定にしている場合は無意味。ならクッキーを拒否している場合は投票出来なくすればいいのだが・・・元々クッキーを使いたくないし、手元にあるデータなので偽装されることは目に見えている。だから、作業を面倒に、リロード対策をしっかりとするしかない。

それで、この問題は一応対応しているつもりだ。

さて、次の問題は、CSV登録に関わるもの。CSVを判断するにはどうしたらいいのだろうか。その答えは、CSVとは何かという答えと同じものだ。カンマによって区切られ、改行を1まとまりとする形式だ。他にダブルクオーテイションで囲む場合もある。他にルールはない。

例えば長い文章があり、見やすいように改行していたとする。で、カンマを半角で書いていたら、それはもうCSVとして認識される。極端な例だとカンマが一つもなくとも、改行が頻繁にあれば、1項目のデータの束として認識される。要するにだ、CSVかどうか判断するのは不可能だ。

で、取っている対応というのは、5行なければいけないというルール。要するに2列目にカンマが4つなければ違うと判断する。その上でアドレスが登録サイト内でなければ登録できない。登録から3日以上経ってからしか使用できない。これらどれかの制限がなければ、無限にくずデータを

取得し続ける事になる。ただ、全てのサイトを確認したわけではない。もし仮にこの条件が揃ったページがあったとすると悪意を持った第三者に悪用される。という穴がある。

一定期間後IDを確定するシステムも問題がある。もし仮に悪意を持ったものが一人いたなら永遠に確定しない。3日経つ前にいい加減な処理をすればいいのだ。なんたる脆弱性。

もっとも単純な方法のひとつにサイト登録をして、巡回先のページを重いページにするというのがある。何サイトも一気に登録し、対象ページを数百MBの巨大なページにでもすれば読み込みだけでタイムアウトになり、その後の処理が中断されかねない。仮に出来たとしてもデータベースのデータ量は膨大で

正規表現を行うのに時間が掛かりすぎる。それが数サイトあればアウトだ。

他にも過負荷を与えたり、とあるphpを外部読み込みしてパスワードをハッキングしたり(出来ない事を一応確認)、アドレスのパラメータをいじりデータベースを破壊したり、諸々可能性ではあるが問題は多い。少なくとも悪意をもたれると非常に困るとっても困る、だからやらないでね、本当にやっては駄目(ある意味反語)。


2004-12-20 [J]

_ [雑記]アクセス数が増えたのは

どうも、落ちた「X-Navigator」からの難民の一部が漂着したようだ。

_ [運営]レビューと改造の扱いの違い

つい最近処理に悩んだデータがあった。シャングリラの改造データなのだが、ErogameScapeのデータベースには元々なかったタイトルだ。PC98時代のゲームで、会員限定の「エルフClassic」の中でベタ移植されている。この、改造データはこの移植版のものなのだが、ErogameScapeのデータベースに新たに登録されたデータ上の発売日がPC98のものだったのだ。当然PC98ではこのデータは使えない。

レビュー、攻略ならば当然問題ないのだが、改造だけはそうはいかない。

だからと言って、(ErogameScapeのデータベースを元データにしているので)ErogameScapeのデータベースに個別にデータ登録して、タイトル数を無闇に増やすのは愚かな事であるし、迷惑が掛かるだろう。(「人妻×人妻2R-もっと!人妻ぱらだいす-」も単なる廉価版で内容に差はないので、無い方がいいデータ)

で、どうするかというと注意するしかない。失敗データにある方がいい場合もあるし、そうでない場合もあるだろう。ただ、ユーザーに処理を丸投げしている現状では無理なので、その旨追記できるシステム作りが必要になるかもしれない。

_ [運営]意思疎通の問題

運営上登録時のデータを変更したい場合がある。しかし、相手側にいちいちメールで確認するのも大げさすぎる気がする(元々そういう作業を全くしてこなかったし、苦手というのもある)。ならば、各サイトへの連絡事項のページでも作ればいいかというと、多分機能しないだろうし、チェックしてもらうのも馬鹿らしい。問題になるのは、相手が非公開のRSSを作成して、それに基づいて登録している場合だ。早かれ、遅かれそういう無駄な作業は忘れてしまうものだ。ユーザー登録されていても、必ずパスワードを忘れるものと考えている。少なくとも自分ならすぐ忘れる。そういう忘れられた場合、更新されたことをこちらが把握していてもデータを取得することができない。そこで、変更したいわけだ。ただ単に開始・終了記号の変更なら勝手に変更してもいいが、RSSの場合思い出して作業を再開することも考えられる、そうすると変更した旨報告しなければならない。

そんな場合の扱いが難しい。大抵は、marker登録で十分取得可能なのだが、表示方法が悪いのかRSSでしか登録出来ないと勘違いされている場合があるようで・・・・。


2004-12-21 [J]

_ [雑記]リンク集の現状

最大手 ErogameScape / ゲーム攻略への道 / X-Navigator
その他 Game Leader / MagicalGirl / ゲーム攻略リンク
似た系統のリンク集や更新チェック用ではないものは除外する。さて、これだけあるのに「Eroge RSS Checker」は必要だろうか。提供できるデータは、X-Navigatorと同じタイプで、サイトは限られていて、レビュー、攻略、改造ともに扱っている。大した変わらないのなら必要ないような気もしてくる。攻略関係は不動の大御所がなんの問題も無く存在している。なまじ半端なリンク集が存在すると無いパイを分け合う状況にもなりかねない。1箇所見れば済む所を、念のために数箇所見て廻るような無駄は出来ればして欲しくはない。ゲーム攻略リンクがユーザー登録型で、見たところゲームデータもユーザーが登録できるようなので、全自動でまわり続ける事が可能なようだ。使い勝手が多少悪いが、こちらで問題ないのかもしれない。

_ [運営]リンク集としての課題

自動化自動化というがなぜ類似のリンク集がないのだろうか?画期的?

それは誤りなのです。確かに毎回巡回してデータ登録する手間は省けますが、保守管理がその分大変になります。もし、仮にこのリンク集を個人使用の目的で管理するとすればそれは大いなる無駄です。MyRSSのようにリンクを更新内容として無作為に取ってくる方が楽で現実的です。多少見づらかったりしても自分しか使わないのなら問題はありません。

さて、では課題について。まず登録に多大な労力が必要です。自身で登録し、レイアウトを変更、意識して更新データを記号で囲む事が出来るならそう難しくもありません。しかし、過去の更新データを取得させる場合はCSVを作成しなければならない。後は、模様替えをする時に気をつけなければならない。

そして、模様替えは別にしても登録作業だけが大変でそれ以後何もしなくてもいいので、忘れられてしまう可能性が高い。仕方ない事だが、もしもの時にちょっと困る。

_ [雑記]願望

やりたいことはいくらかある。ただ、著作権や倫理の問題があるので実行できない事を書いてみる。

まず、「GATE DIVE」のデータ取り込み。失敗データが大量に出る事になるが、それはそれで何らかの対処をするとしてデータ補強はしたいと思っている。ただ、そんなことをしていいのかどうか疑問なのでやっていない。

そして、各ニュースサイトのRSS作成。ニュースサイトのRSSを勝手に作るのは、それが商業サイトならまだしもちょっと抵抗感がある。許可でももらえれば楽に作れるのだけれど・・・。

最後に、悩むがアマゾンのアフィリエイトに参加する事。文字リンクでいいので、各ページにアマゾンへのリンクを追加するだけでいいのが利点。まぁ、金額は期待出来ないが誰にもマイナスではなく収入の可能性があるのだから、あちこちで行われるわけだ。ただ、個人的にはアマゾンという会社、サイトどちらも嫌いだ。多少安いくらいなら他所で買いたいと思っている。

_ [運営]ユーザーサイドの参加の現状

実はあまり書かない方がいいのですが、アクセス解析でページ間の移動情報も含めた情報が取得できます。そのデータを見ますと、某サイトの管理人さん以外にID登録などユーザーに投げた作業をやってくれている人がいないようなのです・・・(1、2回なら後数人いますが)。不在時の助っ人として準管理人権限でももらってくれないかと思ってしまうほどです。ありがたい事ですし、作業自体それほど量もないので、そういう事態も有り得ますがもう少し、偶然見つけたとか、見たページに欠損があったから補ってみたとか、広い使用を想定していたので少し残念。投票で決定されるシステムも3、4票さえ集める事が出来ず確定させられない現状です。順調に訪問者数が増えてきたのでもう少ししたら状況も変わるかもしれないので少し様子見が必要なようです。

_ [雑記]フランケン

スクリプトの増改築を繰り返した結果、つぎはぎだらけになってしまった。困った事にファイル数もRSSを除外して60程度にもなってしまっている。新しい機能のアイデアもそろそろ尽きてきたので、ちまちま見直しをしなければならないかもしれない。機能を実現するのはそう難しくもないが、綺麗に設計開発するのには何が必要なのだろうか。独学なのでそんな基礎部分が問題だ。狼男を撃つ銀の弾丸はない、という話とはまた違うのかもしれないが、王道的なものはなく、プロ(?)のソースをみようみまねするしかないのかもしれない。


2004-12-26 [J]

_ [雑記]年末、メール、デザイン、エラー

さて、年末です。突然ですが、メールは大の苦手です。大体数行書くのに1時間も浪費してしまうことが良くあります。それで出来あがるのは、挨拶もなにもほとんどない用件のみの簡潔で面白みのない文章です。ということで、意思表明。

では、本題。年末です。ほぼ放置状態で1日1、2回数分チェックしているだけですが、まぁそれなりにまわっているようです。あっちのRSSが更新されてないとか、(必然的に)取得できていないものもいくつか見られますが、無視を決め込んで、このまま来年中旬までいこうと思っています。

それよりも、デザインをもう少しまともにしたいと真摯に思ってしまいました。デザインより情報を収める方が重要ですが、それでも今のは手抜きが過ぎる。CSSも内容に即しているわけでもなく、かなりいいかげん。これではいけないとは思うのですが、タグをちまちま書いているせいかどうも立体感もなにもない。タグの種類が少なく、文字の色や大きなもほぼ一定で、小さくまとめる事に執着しすぎているかもしれない。とはいえ、論理的意味付けとしてCSSを利用することが第一かも。

「unable to connect to database・・・」とうるさく出てくる。データベースサーバーが混雑しているためだが、何やら今日は尋常ではない様子。抗議のメールを出して見た。


2004-12-27 [J]

_ [運営]「UTF-8」への対応ミス、「ヴ」の取り扱い

大抵、文字セットが「UTF-8」の場合、並び替えると50音順に並ぶ。濁点なども、例えば「ハ」なら「バ」もほぼ同様に扱われる。ただ、元々日本語に存在しなかったと思われる「ヴ」だけは違う。これは、「ウ」とは関係無いものとして扱われる。

したがって、50音順に並び替える場合、「ヴ」は最後にきてしまう。

MySQLの場合

order by REPLACE(furigana, 'ヴ', 'ウ')

として置換後の文字列を使用すると良い。見てのとおり汎用性がなく、「ハ」の後にに「バ」「パ」「ヒ」・・・と並ぶことには対処していない。リストが短ければ大した問題ではない。問題ないが、正しく表示しようとすると難しい。そういう場合フリガナから全ての濁点をなくすか、PHP側でソートするしかない。ただ、リストが長くなれば、50音での個別表示のみにするのが普通なので、

MySQLの場合

order by substring(furigana,4,13)

とすれば問題ない。MySQLのキャラクターセットに「UTF-8」があれば、substringは本来マルチバイト対応なので、「4」が「2」になるはずです。今回やってしまった対応ミスはここ。「4」を「3」としてしまった。こうすると要するに「12345」と続く場合「3」だと「12」を除外することになる。これだと「UTF-8」の場合カタカナ1文字3バイトなので、1文字目の途中から取ってしまう。気づくのに時間が掛かってしまう辺りあれだ・・・。


2004-12-28 [J]

_ [記号変更]『Legend of Camellia』と『NE研』

『Legend of Camellia』

開始記号 『 → \<A(?:(?!br).)*?『[#on]

他の個所で『が使われていたため、取得ミスが発生したため。

『NE研』

開始記号 ......に「[#on] → .{8}「[#on]

終了記号 」を追加 → 」(攻略|を追加)[#on]

攻略途中で公開したため、終了時の記述方法が異なったため。

_ [雑記]要望希望

一応書いておくが、要望や具体的なエラー報告はどしどしお願いします。もしも的外れだとしても、役に立ちますのでよろしく。


2004-12-29 [J]

_ [運営]新機能案・marker自動作成

更新履歴なり、リストなりがあるページのアドレスを記入するだけで、marker登録の「title」markerの候補をいくつか表示する機能を作れるかもしれない。

仕組みはアドレスのテキストを取得、ゲームタイトル(多分完全一致しないと無理なので、見本をページから記入してもらうかも)を探しいくつかパターンを決めて前後の文字を記号として使用、結果を出力して最適なものを選択してもらう。

今あるスクリプトを機能ごとに細かく分解する必要があるが、それが出来れば追加部分は少なめで済む。問題はどの文字を記号と判断するかだ。ホームページ製作ツールで作られていれば、タグがめちゃくちゃなので自動で選んでもきちんと取れないだろうし、元々不可能な不定形の更新履歴、リストのサイトも無理だ。それ以外の場合は自分でも簡単に記入できるだろうからあまり実用的ではないかもしれないが、仕組みを理解してもらうデモンストレーションとしてはいいかもしれない。

まぁその前にプレビュー機能のバグ取りを先にした方がいいのかもしれないが・・。

_ [雑記]配慮を必要とするシステム

エロゲーの殿堂の「遺作 リニューアル」。更新履歴の書き方を配慮してくれた結果正しく取得できた。今までも数サイトで登録後更新履歴の書き方が変化しているのを確認しているが、この配慮なしにどうにか取得できないかと、考えてみる。どうも無理のようだ。記号と分類を気に掛けてもらい、かつタイトル名も出来るだけ正式なものに、更新情報は併記しない。システム根本で設計を間違えているような気もしてくるほど、実は気苦労を強いてしまうのだろうか?