2012-01-04 8 views
-1

可能性の重複使用してリンク:私は、リンク上のセキュリティのためのソリューションを求めています
One time download liks in php?暗号化PHPに

を。

私は、ユーザーがリンク先のURLをクリックして取得できるようにしたいと考えていますが、ソースコードからリンクを読み取ることはできません。ユーザーがログインするたびに別のURLが表示され、古いURLを再利用することはできません。

私はPHPにはあまり慣れていませんが、自分のリンクを安全に保つ方法を模索しているので、私はいくつかの調査を行っています。

+0

bit.lyなどの既存のサービスを使用しますか? –

答えて

1

一時的なキーを生成してURLとともに送信することができ、ユーザーがページに移動したときに一時的なキーを削除してから、この現在のURLに再度アクセスすることはできません。ユーザーごとに固有のキーを生成する必要があります。

+0

私はこのランダムキーをどのように生成し、これがそのファイルのリンクであることを知ることができますか?実際には、これらのダウンロードウェブサイトが使用している方法のように聞こえる。私もこのことができることを願っています。私が勉強するキーワードはどれですか?またはあなたが例を持つことができるということです。ありがとう!! –

+0

私は単純な解決法を提案した。一意の値を生成してdbに保存する。このキーをクエリ文字列として送る。対象となるページで、キーがすでに生成されているかどうかを確認し、キーを承認して削除します。キーには、自動有効期限を確認するタイムスタンプも必要です。 – Arfeen

+1

この質問の後半にご迷惑をおかけして申し訳ありませんが、私は忙しすぎてこの問題を解決するのを忘れていました...とにかく、私は答えに従ってこれを行い、それはトリックでした。 –

-1

可能な解決策は、ユーザーのIPを暗号化し、URLに追加し、 はにリダイレクト、復号化されたIPが正しい場合、ユーザIP

と同じであるかどうかをチェックリダイレクトページにそれを送信することです元のダウンロード。

+0

私は勉強することができますか? –

+0

http://us2.php.net/manual/en/function.base64-encode.php – JorisW

-1

リンクを使用してキープリミティブを送信することができます。 つまり、リンクはhttp://foobar.com/x/link1/xxxとみなされます。

  1. 暗号化アルゴリズムを生成できます。 (複数のレベルの標準暗号化を使用させる)

  2. ここで鍵生成のための別のアルゴリズムを生成します。このアルゴリズムは、あなたが両側に保持することができます。

  3. ランダムキーテキスト(キープリミティブ)を生成し、キー生成アルゴリズムを適用して暗号化キーを取得します。

  4. リンクを暗号化します。暗号化されたコンテンツをデリミタで追加し、もう一方の端で抽出し、キーを生成してリンクを復号化します。完了しました。

e.e.e.

data_to_send= base64(encAlgrithm(your_link,keygenAlgrithm(key_primitive)))+delimiter+Base64(key_primitive) 

Base64では、区切り文字は暗号化されたコンテンツで発生を避けるためにのみ行われます。

反対側は逆の処理を行うことができます。