はてなキーワード: ハッシュ値とは
一点のみ、ゲームの実力が分断してしまったことについて、サーモンランがそれを解決する可能性があることは一緒に指摘しておこう。
サーモンランの co-op によって基本操作力が向上するのであれば、それを繰り返すことで、実力の向上する楽しさを得ることができるかもしれない。
そのためには、廃人が協力してあげようと思うくらいのインセンティブが必要で、それをどの程度提供することができるのか、割とそこにすべてがかかっていると言ってもおかしくはない。←ここまで
以下のサイトにコピペして入れると、その値(20c434365134990e6ae6f88a5fe48004)になります。単に伏せてた所についての予告文字列です。
……というわけで、元エントリにはこれを続けていました。
一点のみ、ゲームの実力が分断してしまったことについて、サーモンランがそれを解決する可能性があることは一緒に指摘しておこう。
サーモンランの co-op によって基本操作力が向上するのであれば、それを繰り返すことで、実力の向上する楽しさを得ることができるかもしれない。
そのためには、廃人が協力してあげようと思うくらいのインセンティブが必要で、それをどの程度提供することができるのか、割とそこにすべてがかかっていると言ってもおかしくはない。
以上、ハッシュ値の説明でした。後はチラ裏。後付けエントリは伸びない。
1年も経たないうちから「今後10年戦えるIP」とか書いてる人がいたので、逆を張っても良いのかなと思ってやってみました。
300近いブクマの中で6件だけ。意外とみんな興味がない?
ゲームキューブの時もWiiのときもWii Uの時も、早期から「新ハードで出すよ!」って牽引の材料にしていたものが、現在まで一切アナウンスされていないので心配しています。
上に書いたけど、サーモンランで操作に慣れる&自分好みのギアを得られるようになって、そして次はバトルにいける、みたいな流れができたら良いと思う。
あとは正しいレーティングによるマッチの割り当てだけど……これはどのゲームでも課題になっているところと言うか越えられない壁なので、勝ち負けによらない楽しい体験をどんだけ提供できるかだと思う。勝率の平均はどう頑張っても5割なので。
言われて気づいた。確かにさみしくなりそう。
転売をサポートするシステムが全部死ねば良いのにね。ヤホクとかメルカリとか。
コロコロコミックの連載もだけど、確かにちゃんと商品展開やってますね……3日後、遊びたいと思っている子供たちにちゃんと届くと良いですね。
年金の情報が漏れたとか騒がれてるが一般企業も同レベルなので今は標的型攻撃の対象になってないだけで、狙われたら簡単にやられると思う。exe形式の実行ファイルについては安全が確認されているもの以外は実行してはいけないのは当たり前なんだけどマジでそれをやろうとするとバイナリのハッシュ値を事前にデータベース化して管理して許可されたものだけを実行するようにしないといけない。そうなると世間に出回っているフリーソフトとか全部許可制にしないといけない。アップデート等でバイナリが更新されるたびに解析して登録しないといけないので大変だけどそういうサービスは需要があるきがする。
そもそも出回っているフリーソフトの中にも怪しいものはあるので、そうすべきなんだけど。俺の使っている中華製のOrbitとかいうダウンロードツールも怪しい(前にDDoS攻撃の発信元という噂になってた)から使わないほうがいいんだけど、FWで外向きの通信を許可しない設定にして使ってる。その辺のセキュリティの知識まで一般の人に要求するのは無理なのでバイナリのハッシュ値ベースで許可制にするしかない。管理側は大変だけど、それ以外は無理。
exe以外でも普通にウィルスとかオフィス形式ファイルに組み込まれているものもあるので個別に対策がいるんだけど。実際exeを実行しないだけで結構防げると思う。後はWordとかExcelみたいなファイルはクラウド上での利用だけにしてローカルに落とさないとかしないといけない。面倒だけど。
http://anond.hatelabo.jp/20141112215920
本当は本文の下にフォーム埋め込みたかったんだけど、色々があってwindow.open()になった。
それから、
折りたたみ処理が失敗するのを1時間前に発見したのでバグの修正。
あと細かいところは忘れた
本当は本文の下にテキストボックス2つ追加して返信できるようにしたかった。日記を書くのフォームの中を覗いたらユーザー固有(未検証)?のハッシュ値みたいなのがhiddenにフィールドに入ってた。当然、その値を一緒にPOSTしなきゃ動かないだろうから(未検証)その値を拡張から取得しようと思ったんだけど、お手軽に取得する方法を思いつかなかったので、フォームを自作する方法はやめた。
次に、Ajaxで日記のフォーム取得してそれを埋め込んでやろうとしてコードを書いてみた。日記編集ページをAjaxで取得しようとしたら増田トップページにリダイレクトされたので、どうやらAjaxは弾かれるみたいだ。というわけでこの方法も失敗。
あとはiframeを埋め込むか、window.open使うかぐらいしか思いつかなかった。iframe使いたくなかったのでwindow.openになった模様。
1、何らかの文字列をハッシュ値にしたものをさらしつつ書き込みをする
ff74f78c80ade36037cc1f362276d64d7cfe3660
書き込みしてやんよ
2、自己証明が必要になったら、ハッシュ法と文字列をさらしつつ、別の文字列で作ったハッシュ値をさらす
http://anond.hatelabo.jp/xxxxxxxx に書き込みしたのオレだよオレ
a2656246d49b9f9944ac638d0f99aa2291ad7082
あとはこの繰り返し。トリップの原理も同じだと思うが、ハッシュ値から元の文字列を計算するのは無理に近いので有効のはず。
ああ、ごめん。私は匿名ファイル共有ソフトをイメージして書いてた。
いまどきの匿名ファイル共有ソフトは、ダウンロードしたものに評価を付けれるようになってて
それを元に「偽物」かどうかをある程度判断できるようになってるのよ。
ってのは「偽物掴ませやがって糞が」って動機でマイナス評価を付ける人が
少ない割合でも居ればいいわけだから、評価としてちゃんと成立している。
基本的に、悪いものにわざとプラスを付ける人が居るわけじゃないしね。
作者が見せるのを許可する巻以降の破損ファイルに、わざと高い評価をつける
工作をするというのはありかもしれないが、そのうち偽物ハッシュ値が出回って
http://cruel.org/wsb/burroughs.pdf
カットアップで記録を破壊し書き換えることで、現実を本当に変えられる(そしてそうすべきである)と主張していたバロウズには、具体的に変えたい記憶(現実)があった。でも、そういう記憶は、カットアップしても、破壊されなかった。破壊されるどころか、各断片がもとの記憶の全体を呼び起こすポインタ/ハッシュ値になってしまった。カットアップすればするほど、それはますますその記憶のかけらをいたるところにまき散らすだけだったということだ。
(中略)
記憶を自分の都合のいいように改竄してしまう人には、ぼくたちみんな出会っている。中には自分のまちがいを認めるのがいやで、ウソをついている人もいるけれど、本当に自分の記憶を改竄して、なかったことをあったことにしてしまっている人はたくさんいる。一方で、スターリンや中国共産党みたいに、オーウェル式に記録をすべて書き換えることで、たとえばトロツキーをいなかったことにしてしまったりする例もたくさんある。
でも、この両者は同じものではない。スターリンが公式記録を書き換えたようには、自分の記憶は書き換えられない。そしてこの両者は、なかなか両立しない。書き換えようとするその行為自体が、記憶の中で実際にあったできごとを一層はっきりさせてしまうからだ。つまり、変更前と変更後をちゃんと理解していないと、十分な書き換えはできなくて、その変更前の状態を知っている限り、自分の記憶は残ってしまう。自分の記憶を書き換えるには、ゆっくりと、すこしずつ、自分で気がつかないうちにやらなきゃいけない。記録があるという記憶まで抹殺しなくてはならない。意識的にカットアップなんかをして、記憶を書き換えようとしているうちは、絶対に自分の記憶は――そして自分にとっての現実は――なくならないのだ。
この文章を読んだ時、俺ははっとした。そうなんだ俺も同じことをやっていて、だから俺はバロウズの小説にハマっていたのだということに気が付いた…いや気が付かされた。
俺は地元の三流大学を卒業後、とあるゲームスクールに入学した。大学も好きで入った訳でもないし、自分が好きなことを学びたかった。あとは社会に出るのがたまらなく怖かった。
で、俺はゲーム業界に入ったのか。いや挫折(笑い)したよ。大学でも言語は学んだし、成績は「優」だった。でも全然通用しなかった。あの三流大学でのプログラミング授業なんかママゴトに等しい、そう感じた。それよりもなによりも俺はアルゴリズムの立て方が下手だった。それでも前期はなんとかやり過ごせた。しかし一年の後期での皆の自主制作を観た瞬間、もうダメだと。学校とはいえ「公の場」のディスプレイに「萌えアニメ」画を「壁紙」にする、端末周辺に人形を置く。そんな連中に負けた自分がそこ(学校)に居るという現実に耐えれなかった。
それでもまだ自分には可能性があるのでは?と考えた末、一旦ブランクを入れて考え直そうと思い、当時通っていた精神病院に書いてもらって休学することにした。休学中は最悪だった。うん、ダメだ、この時期についてはまだ自分で文章化するほどに整理がついていないようなので止めよう。
で学校辞めて、いくらかのブラブラ無職生活を経て就職活動。開発でなければどうにかなんだろ、という甘甘すぎる考えでIT業界に書類を出しまくるが当然の如く落ちまくった。でも幾つか引っかかってなんとか社会に潜り込むことが出来た。
でさ、面接で当然「空白期間の4年どうしていましたか?」訊かれる訳だ。それに対して俺は「大学卒業後、スーパーで社員になるつもりで(4年間)働いていました」と。これは以外にも成功した。大学在学中と休学中にスーパーでバイトしてたから色々突っ込まれても対応できたし。俺はどうしてもあの空間に自分が居たという事実を認めたくなかったんだ。これは面接に限ったことじゃなくても改ざんする。経歴を語る場面において全て無かったことにする。俺は脳からあの記憶から消したかった。
でここで最初の引用文だ。俺が経歴を語る場面に置いて、改ざんした経歴を語れば語るほど、あの学校に居た記憶が呼び出される。対外的にはできるけど、自分の頭は騙せない。語れば語るほど屈辱に満ちた時間が蘇る。俺はバロウズの小説の「カットアップで現実を変える」に希望を感じながら、引用文のような事実に無意識で共感していたからこそ、(バロウズの小説に)惹かれていったのだと今更ながらに思った。
でも、俺は改ざんすることを止めない。馬鹿としか思えないが、バロウズの「カットアップで現実を変える」という銘を信じて、俺は脳から消して見せる。それを宣言したい、そして整理したいために匿名ダイアリーに書いた。
以上、駄文終了。
アカウント情報漏えいをしてパスワードのハッシュ値や秘密の質問の漏洩をしたヤフージャパン。
その後もヤフオクでメールの誤送信など、色々やらかしてしくれているわけですが、
去年に新経営陣になり、爆速の掛け声で早く事業展開ができるようになったという、
良い面ばかりクローズアップされてきていましたが、それが悪い方向に作用したのではないでしょうか。
そこをみてみると・・・
http://jobtalk.jp/company/1479_evaluate.html
やはり、
など、コンプライアンスの低下が見られるようになったのは明らかです。
気になって2chのベンチャー板にあるヤフースレを覗いてみると、(下部に引用)
どうも経営陣も閲覧書き込みをしているようなところだったんですね。
これでは同じ過ちを繰り返しかねない。
【自殺現場は】Yahoo! JAPAN 30【14階トイレ】
http://uni.2ch.net/test/read.cgi/venture/1322784618/
390 :名無しさん@どっと混む:2013/06/02(日) 19:02:09.85 ID:zoO0A1Sp0 フローを現場の独断で無視して メアドを流出させたバカは 責任を取って辞めろよ? 393 :名無しさん@どっと混む:2013/06/03(月) 16:08:25.13 ID:MNUaj7U80 >>390 爆速推進した社長も咎めないとだな。 394 :名無しさん@どっと混む:2013/06/03(月) 16:47:54.57 ID:70T+uLBp0 >>393 爆速は正しい 間違ったのは社員 396 :名無しさん@どっと混む:2013/06/03(月) 21:43:34.28 ID:rjRM5CRK0 >>394 間違えさせたんでしょ?社長の爆速施策で。 責任者は社長だろ。 397 :名無しさん@どっと混む:2013/06/03(月) 21:46:40.56 ID:rjRM5CRK0 おい、ここの社長はどう落とし前つけんだ。 このまま情報漏洩させて逃げる気か。 398 :名無しさん@どっと混む:2013/06/04(火) 00:54:36.74 ID:cAMu3ukM0 >>394 爆速は間違ってたんだろ。 ttp://jobtalk.jp/company/1479_evaluate.html ココ見たら一目瞭然だった。 ワイルド・爆速で社員振り回した結果がこのザマだろ。 社長が爆速自ら推進していたわけだから社長が責任取らないと、 筋が通らないな。 爆速化させるところ間違ってたんだろ。 こういうのを拙速だったとかでごまかすのはふざけてるな。 399 :名無しさん@どっと混む:2013/06/04(火) 08:34:00.99 ID:mkunnhWM0 社員の給料を下げて再発防止とした 社長の責任は果たしてますね はい、論破 402 :名無しさん@どっと混む:2013/06/04(火) 13:58:47.90 ID:Hou4pUV20 >>399 必要なのは社員の減給でなくて社長の減給だろうが。 何も責任果たしてない。 403 :名無しさん@どっと混む:2013/06/04(火) 14:51:23.72 ID:5X1HMKXT0 >>402 は? 社員を減給して増益に持ってけば社長の責任を果たしてるじゃん お前、従業員と取締役の区別がついてないだろ 404 :名無しさん@どっと混む:2013/06/04(火) 15:19:08.41 ID:Hou4pUV20 >>403 増益だけが責任じゃねーよ。 情報漏洩でコンプライアンス違反だろうが。 ここの社長は自らを罰せない大馬鹿物だな 405 :名無しさん@どっと混む:2013/06/04(火) 15:46:26.83 ID:5X1HMKXT0 >>404 コンプライアンス違反による損害は人件費の削減てカバーしました はい論破 406 :名無しさん@どっと混む:2013/06/04(火) 16:29:15.48 ID:5X1HMKXT0 ホントにバカ揃いの会社だなw 経営者と従業員の違いすら分かってない 407 :名無しさん@どっと混む:2013/06/04(火) 16:41:21.51 ID:Hou4pUV20 >>405 お前は社会的責任を忘れてる。 408 :名無しさん@どっと混む:2013/06/04(火) 16:41:39.37 ID:Hou4pUV20 >>406 だったな。 409 :名無しさん@どっと混む:2013/06/04(火) 16:45:35.97 ID:Hou4pUV20 利用者だが、こんかいの個人情報漏洩、 従業員の処罰よりも必要なのは経営陣の反省だ。 それが無いんだな。この会社は。 410 :名無しさん@どっと混む:2013/06/04(火) 16:51:25.63 ID:5X1HMKXT0 >>409 経営は反省して従業員に減給の罰を与えました はい論破 411 :名無しさん@どっと混む:2013/06/04(火) 17:25:29.18 ID:Hou4pUV20 >>410 それは反省したんじゃなくて責任転嫁しただけだろ 論破してねーよw 412 :名無しさん@どっと混む:2013/06/04(火) 18:15:57.29 ID:5X1HMKXT0 >>411 つ株価 情報漏洩の罰としてショッピングとオークションの人件費を大幅削減して お荷物を大幅増益にすれば株価は跳ね上がる 経営者として社会が評価だろうが 413 :名無しさん@どっと混む:2013/06/04(火) 19:09:37.85 ID:bkcaE6y/0 やれやれ、普段は「転職で年収アップ」とか勇ましいのに いざ米国流のリストラが視野に入ってきたら 「経営は責任を取れ」ときたw ショッピングの奴らは実績の割に賃金が高すぎる 社員は責任を取って減給されろ 414 :名無しさん@どっと混む:2013/06/04(火) 19:16:12.26 ID:iJuE1/ap0 「上は責任を取って辞めろ」とか言う奴へ お前がリーダー以上になって部下がヘマしたらお前が辞めろよ 自分でできないことを他人に押しつけるな あとMYMで責任責任ほざいてたバカは情報漏洩の責任を取って辞めるんだよな? ログ残ってるんだから逃げるなよ? 415 :名無しさん@どっと混む:2013/06/04(火) 19:30:25.85 ID:iJuE1/ap0 「情報漏洩の責任をとって辞めます」 って退職メール、楽しみだわwww まず現場が退職して経営に危機感を持たせろ
何年か前、WinnyとかShareとかの利用者が逮捕された時、何故か2chあたりでは「残ったBittorrentが一番安全だ」、みたいな空気が支配的だった。
そしてBittorrentの利用者が逮捕された時に、少なからず動揺するような書き込みを見かけた。
でも確かあれ(Bittorrent)って、匿名性とか全く無い仕組みだよね?どのIPがファイル持ってるかリアルタイムで丸わかりでしょ?
なんであれを使ってれば安全(逮捕されない)、みたいな事になってたの?
http://anond.hatelabo.jp/20120813233040
まあそんなもんか。
ただ、それでも説明出来ない事もあったんだよ。
ある日、あるファイル(勿論海賊版)がShareに流出が確認されたんだけれども、何故かWinnyにもそのファイルを輸入しろ(アップロードしろ)という書き込みが頻繁にあった。
書き込んでる奴はそのファイルをどうしてもダウンロードしたかったらしい。
俺は好奇心から、「Shareに流出してるのが分かってるのなら、Shareでダウンロードすればいいんじゃないのか?」と書き込んだが、何故か完全に無視された。
知らない人のために説明すると、ShareとWinnyは大まかな使い方が似通っていて、どちらもハッシュ値を登録すると、そのハッシュ値に対応するファイルだけを狙い撃ちでダウンロードすることが出来る。なので、「Winnyの使い方は知っているけど、Shareの使い方は全く分からない」という状況は、まずあり得ないと言っていい。
よって、Shareでファイルが流出している(そのファイルのハッシュ値やファイル名などが2chのスレッドに書き込まれている)のを知っていて、Winnyでは流出が未確認で、そのファイルが今すぐ欲しいのであれば、やる事は「Shareをインストールして欲しいファイルのハッシュ値を登録しダウンロードが完了するのを待つ」以外に無いはずなのに、何故かWinnyでダウンロードする事に異様に拘る書き込みをよく見かけた。
これは何故だろう?
Web屋のネタ帳( http://neta.ywcafe.net/ )様の
これからの「パスワード」の話をしよう( http://neta.ywcafe.net/001184.html )で
紹介されているパスワードのハッシュ化のバグについて突っ込んでみる
「1回ハッシュ化を解読できただけ、プレーンパスワードを入手することが可能である」
というものである。
問題の部分はここ
/** * 平文のパスワードをハッシュ&stretchするメソッドです。 * loop回数は1000としていますが、999でも1001でもお好みでどうぞ。 * ただしループ回数は処理時間に直結しますのでほどほどの数値で。 */ private static final String hashAndStretch(String plainPasswd, String salt) { int loop = 1000; String hashedPasswd = ""; for (int i = 0; i < loop; i++) { hashedPasswd = DigestUtils.sha256Hex(hashedPasswd + plainPasswd + salt); } return hashedPasswd; }
<凡例>
ソルト:SSSSSSSS
<トレース>
XXXXXXXX ← DigestUtils.sha256Hex("YYYYYYYY" + "PASSWORD" + "SSSSSSSS")
クラッカーがXXXXXXXXXのハッシュ値を解析し、元の文字列が「YYYYYYYYPASSWORDSSSSSSSS"」と判明したとする。
この時点で元文字列の中にプレーンパスワードが含まれていることになる。
また、ハッシュ化された文字列には「0123456789abcdef」の文字しか含まれておらず、
「それ以外の文字が含まれていた場合容易にプレーンパスワードではないか」
一般的なパスワードには少なからず「0123456789abcdef」以外の文字が含まれているだろうし、
上記のことをふまえてプログラムを修正すると。。
/** * 平文のパスワードをハッシュ&stretchするメソッドです。 * loop回数は1000としていますが、999でも1001でもお好みでどうぞ。 * ただしループ回数は処理時間に直結しますのでほどほどの数値で。 */ private static final String hashAndStretch(String plainPasswd, String salt) { int loop = 1000; String hashedPasswd = DigestUtils.sha256Hex(plainPasswd + salt);; for (int i = 0; i < loop; i++) { hashedPasswd = DigestUtils.sha256Hex(hashedPasswd + DigestUtils.sha256Hex(salt + i)); } return hashedPasswd; }
HTMLはわかるけど、サーバーサイドはお遊びでphpを触ったぐらいだったので、会員制でデータをためこむサイト作りに初めて挑戦した。
今回重視したのは、「いかに個人情報をお漏らししないようにして、万が一漏らしても被害を少なくするか」ということ。
世の中、有償サービスでもパスワードを平文で保存してるサービスが意外と多いらしいので、流出した時のリスクを少しでも減らせる対策として書きます。
サーバー:ロケットネットのキャンペーンにでレンタルサーバ年1000円ポッキリプラン クライアント側の処理:HTML+CSS+jQuery(とプラグインもろもろ) サーバ側の処理:PHP Webサーバー:Apache データベース:MySQL
俺も巻き込まれたところでは、サミータウンがメールアドレスとパスワードセットでお漏らししてお詫びに1ヶ月無料なにそれこわい。
サミータウンだけならまだいいけど、メアドとパスワードを他のサービスで共通化して使ってる情弱なので、
共通化してメアドとパスワードをどこかのサービスが一箇所でも漏らすと、ヤフオクID乗っ取り事件みたいなことになる。
http://internet.watch.impress.co.jp/cda/news/2008/09/26/20967.html
俺だってできれば人様のメールアドレスとパスワードとか預かりたくない。
万が一、肉親のメールドレスを発見してパスワードにrapemeとか入ってたら明日からどういう顔すればいいかわからない。
ググってみてもどこにも情報のってない。うーん困った。ダメもとで「個人情報ってどうやって保存したらいいんだろう。。。」
って、twitterでつぶやいたら、「住所とかは可逆暗号化でいいけど、パスワードはハッシュで不可逆化しないとだめだよ!」
「住所とかは可逆暗号化でいいけど、パスワードはハッシュで不可逆化しないとだめだよ!」
何のことかわからなったので、調べてみると、
・ハッシュ=ハッシュ値を使った、元のデータに戻せない暗号化方式
うーん。。。よくわからん。。。
電話番号とか住所は、第三者が使用する情報なので、可逆が必要。パスワードは、認証にしか使わないので、
ハッシュ値の結果が一致すれば元のデータがわからなくてもOK、という方式なのでこういった暗号の使い分けをする。
●可逆暗号のイメージ(もとにもどせる) 暗号化キーは開発者が指定する。 090-xxxx-xxxx →(暗号化)→ !'&amp;%($% →(復号化)→ 090-xxxx-xxxx ●ハッシュのイメージ(もとにもどせない) 登録password(DBに保存)→(ハッシュ値抽出)→!"$#'$#=" ログインpassword →(ハッシュ値抽出)→!"$#'$#=" ※二つのハッシュ値が合っていれば、パスワード一致として認証する。
今回はMySQLの関数で実現した。encode関数で暗号化して、decode関数でもとに戻す。
例えばtel_noという項目だけあるテーブルがあるとすると、
//データベースに保存する時 insert into テーブル名 (tel_no) values (encode(tel_no,'暗号化キー')); //データベースから取得する時 select decode(tel_no,'暗号化キー') from テーブル名;
これで、データベース格納時は暗号化(バイナリ化)されて、データベースから取り出してHTML表示する時に復号化はされる。
<ユーザ登録時>
$password=(フォームから取得) $hash=hash('sha512',$password) //ユーザ登録時は、ここで生成した$hashをデータベースにぶっこむ。
ユーザ認証時は、入力されたパスワードと、データベースのパスワードが一致するかチェック。
//フォームから入力されたパスワード $input_password=(フォームから取得) $input_hash=hash('sha512',$input_password); //MySQLに保存されたパスワードを取得(略) $db_hash==(データベースから取得) //判定 if($input_hash==$db_hash) echo 'ログインしますよ!'; //ここにログイン処理を書く else die('メアドとパスワードがあってないよ!');
これでもしSQLインジェクションとかでデータが流出しても、ハッシュ暗号のパスワードに関してはまず解析されないはず。。。
可逆暗号のデータもphp側の暗号化キーが盗まれない限りバレない。。。はず。。。
何でもかんでも暗号化するとコードが煩雑になるし、パフォーマンスにも影響でそうなので、
住所データの都道府県とか、漏れても良いような情報は暗号化しませんでした!!
個人情報保護法 2条による定義 「個人情報」とは、生存する個人に関する情報であって、当該情報に含まれる氏名、生年月日その他の記述等により特定の個人を識別することができるもの(他の情報と容易に照合することができ、それにより特定の個人を識別することができることとなるものを含む。)をいう。
これで、もし漏れても、俺、ウンコ漏らして臭いけど、パンツから出てないからいいよね?というレベルにはなった。はず。
万が一漏れても大丈夫!と書いたけど、そもそも漏らすなというお話になる。色々調べた結果、以下の対策をほどこした。
・当初jQuery側でSQL組み立ててPHPに渡してたので、これだと任意のSQLが実行できて漏らし放題なのでやめる。
・GETとかPOSTでDBに渡すパラメータを扱ってる場合、ちゃんとエスケープする。
例えばログイン認証するPHPで、GETメソッドでフォームからデータを取得するような場合、
$id=$_GET['id'] $pwd=$_GET['pwd'] $sql="select * from ユーザーテーブル where uid='$id' and pwd='$pwd'
とかやってると、login.php?id=admin'&pwd=' OR '1'='1とかパラメータを渡されるとあら不思議!
select *from ユーザテーブル where uid='root' and pwd='' or 1=1
で、誰でもログイン出来ちゃう!ので、mysql_real_escape_stringでエスケープしたり、渡されたパラメータが想定した値かどうか(例えば数値かどうか、とか)のチェックをいれたりする。
・保存するデータにタグやJavascriptを埋め込まれないように、保存されたデータを出力する場合はPHP側でhtmlspecialchars関数使ってエスケープするようにする。
こんな感じでお漏らし対策をした。間違いがあったら教えて欲しい。
ちなみに出来上がったサイトはこれ。
情報送信でスパイウェア警告、ドングル導入検討、2chで訴訟をほのめかす
体験版の30分制限
どうしてこうなった・・・
正式版のダウンロードを購入者のみに制限、体験版での登録ができなくなる
不正使用対策のため、シリアルキーが新しく変更される(要再登録)
新しいシリアルキーに、ダウンロード時に登録したメアドが含まれるようになる
Ver.9の購入者がVer.8を使えないことに苦情が寄せられる
エディタの起動時に情報を送信していることが確認される(スパイウェア疑惑)
キージェネとクラック情報の存在が確認され、緊急バージョンアップが行われる
「ドングル導入を検討していた」という噂が流れる(作者本人は否定)
ベクターで新規購入するとユーザー情報が「ベクターのお客様」になることが判明
不正使用対策で自己改変チェックが行われるようになり、起動がもっさりになる
法人限定でシリアルの内容がメアドから会社名に変更可能になる(要申請)
苦情を受けて、新規ユーザーにもVer.8のシリアルを発行開始(要申請)
自分のスパイウェア疑惑を棚に上げ、クラックやキージェネの危険性を警告
Ver.9.07で自己改変チェック機能が外される
ライセンスとセキュリティポリシーの問題で公式サイトがまた荒れる
後付けの規約変更連発で事態の収拾を図ろうとする
作者の意に沿わない発言をする者に対し、公式フォーラムからの退会を勧告
作者から一方的に議論打ち切り宣言が出される(掲示板の一部がロックされる)
作者が2ちゃんねるに降臨。「テンプレを削除しないと訴えるぞ」と恫喝
公式サイトとトリップが一致し、本人の書き込みであることが確認される
しかし、まったく効果がなく、わずか1日で2ちゃんねるから撤退
Ver.9(の続き)
Ver.9.09で登録情報の送信回数が減らされ、同時にキージェネ対策が行われる
返金を申し入れたユーザーのメールがスパムフォルダに振り分けられていたことが発覚
公式サイトのリニューアルで、ロックされていた掲示板が削除される
Norton Anti VirusがVer.9.11をスパイウェアの可能性があると警告
公式で報告された不具合をユーザーの環境のせいにして済まそうとする
このスレの指摘で上記の問題がソフト本体のバグであったことが確認される
確認ダイアログの表示前に、通信をしている可能性が指摘される(9.14で修正?)
Ver.10で再度シリアルキーが変更される
体験版の使用制限が強化され、30分ごとにソフトが強制終了するようになる
体験版の制限が30分ごとの強制終了から30分ごとの警告ポップアップに変更
「印刷時のフォント計算バグは次のメジャーアップデートまで直しません」発言
Ver.11 有料アップグレード(予定)
なんだかBittorrent利用者が逮捕されたそうな。
これで、主立ったP2Pファイル共有ソフト(Winmx、Winny、Share、PerfectDark、Cabos、うたたね、Bittorrent)全てに逮捕者が出たという事になる。せっかくなので俺の使い方をここに書いてみる。
もっぱら使ってるのはShareと"うたたね"。
何か言いたいことや疑問があったら言えばいいよ。
児童ポルノ禁止法が改正されそうになっていた件で、個人的には単純所持禁止や二次元の規制には反対したいものの、未だにネット上で児童ポルノが流通しているのは確か。その辺をどうするんだ放置したままでいいのかという規制賛成派の指摘はもっともだと思う。
しかし、今時ウェブサイトに画像やら動画やらをアップロードする馬鹿は希少だろう。それを放置するウェブサイトの管理者も多いとは思えない。画像投稿掲示板の管理者が逮捕された例もあるわけで、国内外問わず、いやむしろ海外の方がよほどリスクが高い。
というわけで、専らその手のファイルってのはP2Pで流通していると思われる。国内だとWinny、Share、Perfect Darkといった所か?
だからこれらをピンポイントで潰すだけでかなりの効果が出るような気がするんだが、どうだろうか?
元々この手のツールなんてのは著作権的「クロに限りなく近いグレーゾーン」な存在なわけで、長い時間かけて消滅する方向に持って行ってもいいんじゃないかと思う。
大ざっぱに必要な作業としてはこんな感じか?
str.charCodeAt(0) + str.charCodeAt(str.length-1) (str.charCodeAt(0) + str.charCodeAt(str.length-1)) * str.length
while (*key != '\0') hashval += *key++;
do{ x = (x * 0x60 + *s - 0x20) % hashsize; }while(*++s);
/* ハッシュ値算出ルーチン */ /* 各文字コードを左に3シフトしたものでXORをとり、 */ /* ハッシュテーブルのサイズで割った余りを返す */ int HashCalc( SearchData ) char *SearchData; { int HashValue; for ( HashValue = 0 ; *SearchData != '\0' ; ) HashValue ^= (int)*SearchData++ << 3; return( HashValue % HASHSIZE ); }
うん。
希望を出すのは良いことだ。
でも、悪いが甘い。甘すぎる。
希望さえだせば、会社がなんとかしてくれるってのは昭和の価値観だ。
なぜ、ベストを尽くさない。
忙しくて作る暇が無いなら、現状の運用で使えそうなプログラムを書けば良い。
たとえば、客が入力した値が正しくデータベースに入っているか検証するSQLを書いて発表する。
たとえば、更新した顧客のサーバーに当てた、ストアドプロシージャがリリース予定のものと一致するかハッシュ値でみくらべるプログラムを書く。
運用だろうがなんだろうが、プログラムを書いて改善する余地はいくらでもある。
プログラム書く暇がないなら、技術的なTIPやノウハウを会社のサーバーにアップして、ノウハウです〓といいつつ上司や偉いやつに自分の能力を見せ付けろよ。
Python2.5のときは、新スタイルクラスのインスタンスは辞書のキーとして必ず使用できたけど、Python 2.6ではそういうわけじゃなくなってるぽい。という話。
class TestClass(object): def __init__(self, i_name): self._name = i_name def __eq__(self, i_other): if not isinstance(i_other, TestClass): return False return self._name == i_other._name print 'object.__hash__ = ' + str(object.__hash__) print 'TestClass.__hash__ = ' +str(TestClass.__hash__)
上記のようなコードを実行したら、Python 2.5とPython 2.6で結果が違いました。
Python 2.5の場合の結果。
object.__hash__ = <slot wrapper '__hash__' of 'object' objects> TestClass.__hash__ = <slot wrapper '__hash__' of 'object' objects>
Python 2.6の場合の結果。
object.__hash__ = <slot wrapper '__hash__' of 'object' objects> TestClass.__hash__ = None
Python 2.6だと、objectクラスを継承すると、__hash__がNoneになっちゃってる。このままだと辞書のキーとして使えないね。objectを継承したクラスで__hash__を実装すれば、大丈夫みたい。
「ハッシュ値の計算方法 (2)」というページも参考になりそう。