DB レコードに一致する一意の URL 変数を生成するにはどうすればよいですか?
-
21-08-2019 - |
質問
次のような URL 変数を生成できるようにしたいと考えています。
http://example.com/195yq
http://example.com/195yp
http://example.com/195yg
http://example.com/195yf
変数は MySQL レコード セットと一致するため、それを取り出すことができます。そのレコード セットの作成時に、このキーを作成したいと考えています。
これどうやってするの?これを行うための最良の方法は何ですか?利用できる既存のクラスはありますか?
皆さんありがとう
解決
基本的に、あなたはいくつかの種類のハッシュ関数が必要です。
これは、SHA-1関数、MD5関数(altCogitoとして)、または録音中に、それをコードしている他のデータを使用してすることができる。
どのように多くのレコードあなたが持っているだろうと思いますか?ハッシュ関数はあなたによくカバーするのに十分な大きさが、大きすぎるなければならないとあなたが必要以上に大きく、データベースを作成してソリューションを選択するには注意してください。 Iは、SHA-1を使用し、64または32ビットに切り捨て、必要に応じてきた。
また、RESTを見てください。 URLはとても神秘的でなければならないかもしれないことを考えてみましょう...
他のヒント
は、どのような文脈では、これを使用することになりますか?理由だけではなく、ポスト変数を渡しませんか?それははるかに安全かつ端正です。あなたはまだ、このようなID = 195yqとしてURLに数を達成し、php.iniファイルを設定することで、それらを非表示にする方法があります。
私はこれがあなたに助けになることを願ってます。
は、このことを覚えておいてください。あなたがアドレスバーに変数を渡すときに、誰かが変数を変更することが容易で、アクセス情報は、あなたは彼らがアクセスすることを望まないかもしれません。
あなたが与えた例では、それが見えます。それは私がそれを行うだろうし、過去にそれを行っている方法ですが、私はベース64復号化が簡単ですので、それは明らかにIDを渡すよりも良くだかわからない。