memo-space
ファイルの直リンクを防止する方法をもう少し考えてみる
- 2007-05-31
- php
Refererを使わずに直リンクを防止する方法を考えてみます。
元ネタ: cl.pocari.org - PHP の apache_setenv と virtual を利用して,ファイルへの直リンクを防止する
この foo.php のファイル名を時間によって変えるなどすれば,まあ,直リンクを防止することができる……のかな?ちと強引ですが.
つまり、「直リンクを防止する」ことを考えるより「ある一定時間しか有効でないURLを作る」ことを考えれば良いということじゃないでしょうか。
で、foo.phpのファイル名を変えちゃうと、外部からの直リンクは防げても、内部からの普通のリンクを貼る時に困りそうです(それならぶっちゃけ、画像のファイル名そのものを時間によって変えちゃってもいいわけだし)。
なので、時刻をパラメータとして渡す方針で。
フェーズ1
foo.php?t=....のようにfoo.phpにタイムスタンプを渡す- foo.phpの中で
$_GET['t']と現在時刻を比較し、n分以上たっていればはじく - でもこれじゃ簡単に偽装されちゃうYO!
なので、フェーズ2
- foo.phpにタイムスタンプと、(タイムスタンプ+秘密鍵)のHMACを渡す。
- foo.phpの中で、(タイムスタンプ+秘密鍵)のHMACを再計算して、渡ってきたHMACと一致するかチェック。
- foo.phpの中で
$_GET['t']と現在時刻を比較し、n分以上たっていればはじく
な感じじゃないでしょうか。本当はapache moduleとかで書いた方が楽そうですが。
- WriteBacks: 0
勝手に添削「タグを実現するテーブル設計を妄想する」
- 2007-05-28
- pgsql
添削するほどエロくないですが。
元ネタ:タグを実現するテーブル設計を妄想する - よくきたblog
まず、
SELECT COUNT(*) FROM (SELECT user_id FROM item_tags WHERE item_id = 1 GROUP BY user_id) AS rows;
は、
SELECT COUNT(DISTINCT user_id) FROM item_tags WHERE item_id = 1;
でいいです。
- WriteBacks: 0
少年法厳罰化に対するmixiの反応に引いた
- 2007-05-26
- book
少年の凶悪犯罪の増加ってマスコミが煽ってるだけだよねっていう意見はわりと 浸透しているのかと思っていた。
[mixi] 日記一覧 | 少年法「厳罰化」の改正案成立(mixi内)
自分の考え方は、思ってたより少数派なんだなぁって思った次第。
近年、多くのマスメディアがしばしば「少年の凶悪犯罪が急増している」といった内容を喧伝しているが、「犯罪白書」によれば、少年犯罪の発生は1960年代前・中盤が最も多く、1960年代後半から激減。1970年代以降減少傾向にあり、マスメディアによる情報操作が行われている可能性が捨てきれない。(少年犯罪 - Wikipedia)
- WriteBacks: 0
読書ブーム到来
- 2007-05-23
- book
一年ぶりの読書ブーム到来(現実逃避ともいう)。7冊くらい買ったかな。新書とエッセイが1冊ずつ。あとは小説。読んだ順に書きます。
おもしろかった。
憲法九条は、突然変異の奇跡で、無邪気な理想論で、挑戦で、冒険で、面白くて、修道院みたいで、ドン・キホーテみたいだ。
対談の間に挟まっている太田さんの花見のエピソード。桜を狂気の花というあたりは、太田さんは感性の人だなぁと思う。
九条を守りたいという立場でありながら、その発想は世界を一つの家族にという発想や戦争に突入していった時の発想に通ずるのではないかという疑問を呈するあたりもおもしろい。
- WriteBacks: 0
PHPを3ヶ所だけ直すとしたら
- 2007-05-22
- php
PHPについてはいろいろありますが手短に釣られて見ます。
PHPのあれが駄目とかじゃなく、 もし神様(何の?)が、今までのは無かったことにしてPHPをどこでも3ヶ所直していいよっていったらどうするかってのを聞いてみたいです。
- WriteBacks: 2
ミックさんのパズルに挑戦
- 2007-05-12
- pgsql
ミックさんの問題に挑戦してみました。 case文を使う方が先に思いついたけど。こんな感じかな。 ヒラをどこで弾くかが微妙なところですが。
方法はいくつかありますが、代表的なものとしては、HAVINGを使ってUNIONする非効率的なものと、CASE式を使った効率的なものがあります。それぞれどんなクエリになるか、考えてみてください。
- WriteBacks: 1
SQLでIPアドレスから携帯のキャリアを判定する
- 2007-05-11
- pgsql
PostgreSQLのinet型を使って、IPアドレスから携帯のキャリアを判定してみます。
とりあえずIPアドレスの情報源。
- WriteBacks: 1
より分散された世界を想像する
- 2007-05-11
- programming
人のBlogを読んだ時、そこに感想を書き込もうとするのがコメント。 自分のBlogに帰って、そこに感想を書き込んでから送るのがトラックバック。 それぞれ長所短所があるわけですが。
それより、自分がどこに書いた、どこに保存されているか、それをどのように見たいかというのはどうでもいいというか、もっと自由でいいんじゃないかなあ。
hail2uの中の人のblogなんかは、はてなブックマークでブックマークするとコメントできるようになってます。 これは、 はてなブックマークエントリー情報取得API を使ってJSONPでもってきて表示してるんだと思います。
同じことをあちこちでOpenIDでやれば、何がおこるのかな。 僕のBlogも、他のBlogへの感想も、全然バラバラのサーバに対して書き込まれる。 僕がはてなやlivedoorやmixiに書きちらかしたエントリは、IDでひもづけられる。RSSリーダーで気になったエントリがあれば、その場でそこに何か書き込む。 もうエントリとかコメントとかトラックバックとかブックマークとか、そんな区別いらないんじゃないかな。
- WriteBacks: 1
OpenIDとmixiとはてなとlivedoor
- 2007-05-09
- programming
話題になりはじめてからもう二年くらいたつのかもしれないけど、 やっとOpenIDが盛り上がってきたんでしょうか。
ほんまかいな。国内では対応サービス全然増えてない気がしますが。
- WriteBacks: 0
単純なblosxomのコメントスパムよけ
- 2007-05-07
- blosxom
数週間前にコメントスパムよけの仕組みを入れました。 ここのサイトはアクセス数が少ないので参考にならないかもしれませんが。
- WriteBacks: 0
CP932 vs JISX0213
- 2007-05-02
- programming
CP932の2バイト部分(何て呼べば良いんだろう)とJIS X0213の1面を比較してみました。元データはunicode.orgのCP932.TXTと、使いこなそうユニコードのsjis0213.txtです。

CP932 vs JIS0213(2) posted by (C)あきを
- グレーの点はCP932でもJISX0213でもreserved。
- 赤い点は、CP932とJISX0213でUCSのコードが違う。
- 緑の点は、JISX0213にしか存在しない。
- 青の点は、CP932にしか存在しない。
となっていて、白い部分は一致しています。一番気になるのは青いところで、これは13区の10文字です。
| 区 | 点 | CP932 | UCS |
|---|---|---|---|
| 13 | 80 | 0x8790 | U+2252 |
| 13 | 81 | 0x8791 | U+2261 |
| 13 | 82 | 0x8792 | U+222b |
| 13 | 84 | 0x8794 | U+2211 |
| 13 | 85 | 0x8795 | U+221a |
| 13 | 86 | 0x8796 | U+22a5 |
| 13 | 87 | 0x8797 | U+2220 |
| 13 | 90 | 0x879a | U+2235 |
| 13 | 91 | 0x879b | U+2229 |
| 13 | 92 | 0x879c | U+222a |
これらのうち9文字は、2区との重複文字です。
残りの1文字(13, 84)はどこへいったのでしょう。sjis0213.txtには(1 -6-18)にこんなコメントがありました(適当に改行してあります)。
1- 6-18 0x83B0 U+03A3 # GREEK CAPITAL LETTER SIGMA
# unified with Windows CP932 0x8794 (as a "KOKUNAI-JISSOU-GOKAN-MOJI",
a domestically implemented compatibility character, N-ARY SUMMATION (U+2211).
うーん。調べてみようと思ったらJISのサイトがメンテナンス中だった。
関連: 図解:Windowsの文字コード
- WriteBacks: 0
- Search
- Feeds
- Profile
- 石田@苫小牧市と名乗りつつ札幌の某社に勤務するプログラマ
- 書いた本
- Links