2009-05-19 12 views
0

新しいサービスを使ってxmlデータをサーバから取得しています。私のサーバ上のPHPスクリプトを使って認証する方法

サービスは、ログインの二つの方法、URLクエリを介して1提供:

http://<server>/login.asp?username=<User Name>&password=<Password> 

を、サーバは7日間有効のクッキーを返します。これは、すべてのクエリにログインするのではなく、スクリプトの効率が悪くなるのではなく、1週間に1回だけログインすればよいということです。

スクリプトはWebブラウザからは実行されず、サーバー上のcronスクリプトから実行されるため、これを行うことはできません。 DES アルゴリズムとを使用して暗号化されたユーザ名、passwork およびユーザーグループがされて

トークン

トークン:私のサーバー上のクッキーを保存する方法はありますか、私は第二の方法のために行くことを持っていますキーとタイムスタンプ。 適切なキーまたは下の安全な コールでDESアルゴリズム を使用して任意の アプリケーションによって生成することができるトークンが使用できます。トークンが返さ ページの本文に含ま あり、1時間有効です

私はこの方法について何も知らない。あなたは正しい方向に私を向けることができますか?ありがとう。

エド

答えて

1

サーバーにCookieを保存する方法はありますか?

はい。方法は次のとおりです。

curl -c cookies.txt http://<server>/login.asp?username=<User Name>&password=<Password> 

これは、Netscape形式でcookies.txtに書き込みます。

ノア

0

あなたは、実際のログインスクリプトへのアクセス権を持っている場合は、代わりにいつもあなただけが知っている一意のIDのいくつかの並べ替えを含めることができます。..

さらに良いことに、いくつかのHMAC-(MD5を使用することです/ SHA1)スキームはOpenAuthと同じです。あなたが怠け者ならば、アクセスするすべてのURLに '?key = somethingonlyyouknow'のようなものを含めて、username + passwordをバイパスしてください。ユーザ+パスワードスキームは、実際には人間によってのみ使用されるべきであり、マシンによって使用されるべきではありません。

すべてが失敗した場合は、クッキーを保存するようにスクリプトを変更してください。 'curl'を使用すると、クッキーを保存するように指定し、どのファイルに保存するかを指定することができます。

関連する問題