2016-11-11 9 views
2

最近、ユーザーの電話番号が部分的に表示され、残りの部分を表示するためにリンクをクリックしなければならないWebサイトを訪れました。リンクには、javascript関数を使用して電話番号を抽出する暗号化されたIDがありました。ユーザー情報にクライアント側の暗号化を使用するメリット

これは興味深いかもしれませんが、私は簡単に関数を呼び出して電話番号を抽出することができるので、このようなものを使うことのメリットは分かりません。この機能は、検索エンジンがユーザーの情報をインデックスに登録しないようにするためにのみ有効ですか?

あなたは好奇心旺盛であれば、これは関数です:

function d(num){ 
    num=num.substring(2); 
    var c=parseInt(num[0]); 
    var n=""; 
    var i=c+1; 
    while(i<num.length) 
    { 
     n+=num[i]; 
     c=parseInt(num[i+1]); 
     i+=c+1; 
     i++; 
    } 
    return n; 
} 

そしてリンクのidは次のようになります。X_31320224932121817272269264130*********

+1

私はあなたが正しいと思っています。それはボットの難読化のためのものです。私は電子メールアドレスと似たようなことをしています。リンク先は、クリックしたときに構成部分からリンクされています。むしろ、「mailto:spam-me-please @ your-leisure.com」 – Archer

答えて

2

はい、これは難読化ではなく、暗号化です。それが完全に自己完結しているという事実は、それが他のものになることはできません。

まず、明示的なキーを使用していないようです。たとえAESなどの実際の暗号を使用していても、一見左右対称のキーをデータに統合しても安全にはなりません。

第2に、Kerckhoff's principleに準拠していないように見えます。これは、暗号化方式が攻撃者に知られていても安全でなければならないと述べています。誰もキーなしで機能を実行して正しい結果を得ることができるので、これは明らかに原則を無効にします。もちろん、キーがなければ、このスキームは常にこの原則を破ると主張することができます。

私が思いつくことができるのは、検索エンジンで使用されるような(単純ではない)ウェブクローラーに対する保護です。

関連する問題