週刊(月刊?)プレカリアート
PayPalのSandboxで”Please login to use the PayPal Sandbox features.”になる問題
- 2011-12-24 (土)
- プログラミング
クリスマスイブだというのに寂しくコードを書いています(;;)
さて、本題ですがPayPalの支払いのリダイレクトページについて、あちこちにサンプルコードがあります。たとえば
$fp = fsockopen (‘www.sandbox.paypal.com’, 80, $errno, $errstr, 30);
のようになっているサンプルがあるのですが、このままでは動作しません(少なくともこちらでは動作しませんでした)。”Please login to use the PayPal Sandbox features.”が出てきます。これについての日本語ページは探したところ1ページしかなく、期待する解決策はなかったためメモ書きを残すことにしました。英語だと7,500件出てきますが、そのうち何件が役に立つかは定かではありません。
ともあれ、実行するとこのような画面になってしまいログインを促されます。

この原因は
- https://developer.paypal.com/にログインしないと使えない
- クッキーにsequre属性が付いているからhttpsにしないとクッキーが無効になる
ことなので、解決策はsandboxにはhttpsでアクセスすることです。
いま、Google App EngineをPayPalから通知を受けるサーバとしてプログラムを書いています。Pythonは不慣れだから色々と大変です。
著者/訳者:Array
出版社:オライリージャパン( 2011-01-24 )
定価:¥ 3,570
大型本 ( 392 ページ )
ISBN-10 : 4873114756
ISBN-13 : 9784873114750
すっきりわかるGoogle App Engine for Javaクラウドプログラミング
著者/訳者:Array
出版社:ソフトバンククリエイティブ( 2010-07-02 )
定価:¥ 3,360
単行本 ( 480 ページ )
ISBN-10 : 4797357606
ISBN-13 : 9784797357608
- Comments: 0
- TrackBack (Close): 0
ウェブサイトごとに別々の強力なパスワードを作ることは難しいのか
- 2011-08-30 (火)
- コンピュータ
「紙だけでサイトごとに異なるパスワードを生成する暗号、米研究者が考案」に関連して。
前から感じているのだけど、パスワードを使い回す人が多く、その理由はパスワードを覚えきれないからという。しかし、実のところ強力でサイトごとにバラバラなパスワードを生成し、それを忘れない方法はあると思う。簡単にいうとパスワードを覚えるのではなく、パスワードを生成するルールを覚えておくのだ。
仮に http://www.example.comというサイトがあるとしよう。ここで仮にパスワード生成のルールに「ドメイン名にsaltを加えてMD5する」と決めておく。saltはNEETにしようか。そうすればあとは必要なときにコンソールを叩くだけだ。
md5 -s "NEETwww.example.com"
MD5 ("NEETwww.example.com") = 3bf864e8b76269f05cb5aa0405f02d5b
こうして得られたパスワード3bf864e8b76269f05cb5aa0405f02d5bは十分に強いし、これをブルートフォース攻撃でクラックしようとしてもまず無理だろう。生年月日や電話番号ではないので想像も難しい。その割にMD5を計算できるパソコンがあればいつでもすぐにパスワードを復元できる。
この方法を使うときはsaltの内容とMD5を使ってパスワードを作っていることを他人に悟られないこと。別にMD5でなくてもいいんだけど。SHA1して先頭の24文字を採用するとかなんでもいい。
- Comments: 0
- TrackBack (Close): 0
AmazonのランキングをPHPで取得する
- 2011-08-04 (木)
- 未分類
サイドバーに設置するランキングをPHP, PEARのServices_Amazonで作ってみた。今のアクセス数だとその都度取得してもたぶんいいけど、キャッシュしておくとか機能強化もしたほうがいいかも知れない。
まず適切にPEARをインストールして、pear install -a Services_Amazon-betaなどしてAmazonのサービスを使えるようにしておく。
サンプルコード
そののちにこんな感じのPHPを書いてみた。
< !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
< html lang="ja">
< head>
< meta http-equiv="Content-Type"
content="text/html; charset=UTF-8">
< title>PHP入門< /title>
< /head>
< body>
< ?php
require_once('Services/Amazon.php');
$access_key_id = 'XXXXXXXXXXXXXXX';
$secret_access_key = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
$associate_id = 'XXXXXXX-22';
$amazon = new Services_Amazon($access_key_id,$secret_access_key,$associate_id);
$amazon->setLocale('JP');
$options = array();
$options["Keywords"] = 'プログラミングコンテスト';
$options['Sort'] = 'salesrank';
$options['ResponseGroup'] = 'ItemIds,ItemAttributes,Images';
$result = $amazon->ItemSearch('Books', $options);
if (!PEAR::isError($result))
{
for( $i = 0; $i < 5; $i++ )
{
$link = $result['Item'][$i]['DetailPageURL'];
echo "< a href='".$link."'>< img src='".$result['Item'][$i]['MediumImage']['URL']."'>< /a>< br />";
echo $result['Item'][$i]['ItemAttributes']['Title'].'< br />';
}
}
?>
< /body>
< /html>
結果
こんな感じになった。
- Comments: 0
- TrackBack (Close): 0
- Search
- Feeds
- Meta
















