2017-03-08 2 views
-1

私はPhp codeignitorに1つの安全なポータルプロジェクトを開発しています。 <a> tagのURLの暗号化について知っておく必要があります。このURLはページソースに完全に表示されます。私は非常によく知っているurlencodeは、PHPの機能です。私はそれもデコードすることができるので、それを使用したくない。私は、私は暗号化技術のこの種のを見てきました。このURLを<a>タグでPHPで暗号化

<a href="xWAYK4rT3D9VBsheGElFZXtoL5zkfQ">....</a> 

ような何かをしたいの代わりに通常の方法

<a href="https://somedomain.com/path1/path2">....</a> 

以下のようなソリューションの何かが見えますしたいですそれが暗号化されていても、現在のページにナビゲートします。

+0

どのようにseoを処理しますか?あなたのページにSEOフレンドリーなURLがない場合は? –

+2

より良い解決策はあなたのコードではないURLを.. –

+0

@SRanaあなたの懸念をありがとうが、私は私の質問の最初に述べたように私はSEOを必要としていない、それはむしろ目的のための商用製品ではないビジネス上の懸念事項の内部サービスの – Kathirmalan

答えて

0

あなたはより良いあなたのURLでユニークな生成トークンを追加し、「xWAYK4rT3D9VBsheGElFZXtoL5zkfQ」リンク自体をすることはできません:hrefが=「https://somedomain.com/xWAYK4rT3D9VBsheGElFZXtoL5zkfQ」 は、暗号化と復号化することができ、独自のトークン生成コードを、使用してください。

$ key = pack( 'H *'、 "bcb04b7e103a0cd8b54763051cef08bc55abe029fdebae5e1d417e2ffb2a00a3");

$ codeAlphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

$ codeAlphabet。= "abcdefghijklmnopqrstuvwxyz";

$ encrypted_string = mcrypt_encrypt($ key、$ codeAlphabet、...);

$ decrypted_string = mcrypt_decrypt($ key、$ codeAlphabet、..);

+1

私はこれが正解であると考えています。覚えておくべきことは(他の人が指摘しているように)、ブラウザが解読できるものは誰でも解読できるということです。 OPがURLを隠そうとしている理由、特にドメインを非表示にすることが重要な理由についてOPが説明した場合に役立ちます。しかし、ドメインを表示することができれば、SERVER上の残りのURLを暗号化してから、そのトークンを戻してサーバー上で解読することができます。 – Jerry