ある場所(A)で、「とある文字列」から、とある条件で作られた任意の文字列を、
別の場所(B)で、復元し「とある文字列」を割り出す仕組みを作りたい。
(例)
プログラムA側で、)N(#E”# hd2e という文字列からとある条件で、8yzb89e+7e9 という文字列を生成したとする。
プログラムBには、8yzb89e+7e9 が渡される。
このプログラムBは何かしらの方法で 8yzb89e+7e9 から )N(#E”# hd2e に復元する必要がある。
尚、生成される 8yzb89e+7e9 は例であり、毎回異なる文字列が生成されるものとする。
内部APIの仕組みを作ろうとしています。
ajax通信でapi接続をするのですが、urlを知っていたら誰でもアクセスできるのはNGです。
かといってapi側で「固定の文字列」をチェックしてしまうと
ブラウザのソースを見るで解析されてしまう危険もあります。
なので、サーバー側でロジックを持たせて、「毎回変動する文字列」の復号と復元ができれば
ブラウザのソースを見るで解析されてしまう危険性はなくなると思います。
作って気づいたのですが、これではそもそもどんな文字列をどんな条件で作ったのかが不明なため復元できないのです。
public function _make_random_strings() { $collectionA = array_rand(array_flip(range('a', 'z')), 16); $collectionB = array_rand(array_flip(range('A', 'Z')), 16); $collectionC = array_rand(array_flip(range(0, 9)), 9 ); $collectionD = array_rand(array_flip(['!','$','%','&','(',')','*','+','/']), 9); $random_strings = array_merge($collectionA,$collectionB,$collectionC,$collectionD); return str_shuffle(implode($random_strings)); }
ロジックで詰まっていますが、こういう場合はどうすればよいでしょうか。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。