2017-02-10 21 views
0

これは簡単なGoogle検索になると思っていましたが、私の技術は思ったほど一般的ではないようです。JavaScriptでBase64をエンコードし、GETで送信し、PHPでデコードしてください

がどのように私はGETパラメータでライン上で安全にそれを置くために、JavaScriptでBase64文字列をencodeすることができます(私のBase64文字列はPHPで/+=、およびdecodeまったく同じ文字列が多く含まれ、私はエンコードせずにBase64文字列を投稿すると、それをデータベースに格納するため?

で、私のPHPスクリプトは

Iの符号化のためのfound a solutionとJavaScriptでBase64文字列をデコードする。それを受け入れない、ではないではありませんそれはママ私のためにケイズ感覚。

+0

あなたは '」とはどういう意味ですか'Base64'文字列をエンコードしますか?文字列を 'base64'表現に変換しますか?あなたはQuestionで試した 'javascript'、' php'を含めることができますか? – guest271314

+0

いいえ、私はどういう意味か、 '/'と '+'と '='が含まれているので "URL-safe"にすることができます。 –

+0

@JohnBrunnerもっと答えがわかります。 – matt

答えて

4

だから、javascriptの(はURIコードする更新)中:

var myStr = "I am the string to encode"; 
var token = encodeURIComponent(window.btoa(myStr)); 

btoa example

次に、あなたのGETリクエストにそのbase64でエンコードされた文字列を追加することができるはずです。 PHPで次に

、あなたが要求取得後:PHPでJavascriptを

var password ="xyz" 
window.btoa(password) 

<?php 
    $str = 'VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw=='; 
    echo base64_decode(urldecode($str)); 
?> 

base64_decode docs

+0

Questionのタグに 'nodejs'が表示されませんか? – guest271314

+0

@ guest271314良い点。おっと...おやすみなさい – matt

+0

あなたの答えをありがとうが、私は間違った質問をしたと思う。私は既にBase64文字列を持っています。私はそれをGET経由で私のサーバーに送りたいと思っています。問題は、Base64文字列に/と+が多く含まれていることです。これはGETにとって安全ではありません。どうすればGET経由で安全に送信できますか? –

0

$password = urldecode(base64_decode($_POST['password'])); 
関連する問題