申し訳ありません私は今これを何時間も悩まされていますが、私はまだそれを正しく得ることができないので、皆さんに尋ねるつもりです。JS/PHPクロスURLコーディングとurldecoding
私はhtmlのテキストエリアを持っています。値はajax(jquery)を使用してphpに送信し、データベースに帰属し、phpを使用して再び印刷可能にする必要があります。問題は、あなたが入力した内容と同じ100%であることを印刷するときに私が欲しいです私は今それを行う方法'
と\
のような文字を含む:。
box.find('#newCommentArea').val()
が値である
var comment = escape(box.find('#newCommentArea').val()).replace(new RegExp("\\+", "g"),"%2B");
。私はcomment
をajax関数を使ってPHPに渡し、POSTデータとして送信します。これが何であるかである放火犯を使用して
は、送信するために表示されます:PHPのcomment=asdf%27asdf
印刷$_POST['comment']
が追加\
が問題である私asdf\'asdf
になります。私はそれを取り除く必要があります。
いずれかの方法だけjavascriptの脱出は、PHPで安全ではないので、私はまた、urlencode()
を行うと、印刷するとき、私はrawurldecode()
は、あなたたちは、この方法が良好であれば指摘し、またはそれができるならばもらえ使用もっとうまくいった。
そして、どのように私は事前に$_POST['comment']
おかげで新しい\
を取り除くか、
あなたがデータベースに保存されたテキストを印刷します場合は、\'
のように表示されますMakuraYami
申し訳ありませんが、これはかなりうまくいく、私はjavascriptからurlencoded文字列を送信するので、私は混乱していたと思うが、PHPでもうawsntエンコード:/とにかくstripslashesを使用すると、 – MakuraYami