検索
ホームページphp教程php手册漢字および特殊な危険文字を送信する URL の解決策 (参考のみ) urldecode、base64_encode

Web開発の過程で、URLに漢字やHTMLなどの特殊文字を渡す必要がある場合、ブラウザによってエンコードが異なるため、常にさまざまな小さな問題に遭遇するようです。中国語の場合、一般的なアプローチは次のとおりです:

これらのテキスト文字列を URL に渡す前に、最初に urlencode($text) を実行します。

しかし、HTML 文字や SQL インジェクション関連の文字など、非常に「危険な」文字の場合、それらが明らかにシステムに渡される場合、システムは通常、セキュリティ上の理由からそれらをフィルタリングして除外します。

それでは、これらの危険な文字がフィルタリングされないようにする必要がある場合はどうすればよいでしょうか?

私が考える方法は、最初に base64_encode($text) でエンコードし、次にサーバーに到達したときに base64_decode($text) でデコードすることです。

は完璧に見えますが、使用中に別の問題が発生しました。 base64_encode エンコードされた文字列には、「/」、「+」、「=」およびその他の文字、

これらの文字は、「スペース」を表す「+」などの URL エンコードの特殊文字ですが、ブラウザによって「スペース」のエンコード方法が異なります。「+」を使用して表現する場合と、「+」を使用して表現する場合があります。 「スペース」。「20%」は、つまり、これらの

base64_encode でエンコードされた文字列が URL に渡された場合、異なるブラウザで閲覧すると、サーバーは異なる値を取得することを意味します。

そこで、私は妥協案を考えました。まず、これらの Base64 でエンコードされた特殊文字を置き換え、サーバーに到達した後に元に戻すというものです。

function base_encode($str) {
        $src  = array("/","+","=");
        $dist = array("_a","_b","_c");
        $old  = base64_encode($str);
        $new  = str_replace($src,$dist,$old);
        return $new;
}
 
function base_decode($str) {
        $src = array("_a","_b","_c");
        $dist  = array("/","+","=");
        $old  = str_replace($src,$dist,$str);
        $new = base64_decode($old);
        return $new;
}
ブラウザで得られる効果は以下の通りです

xOO6w6Osuf65_aiy_atL_b00Ke5_b8jnus6ho6GjoaM_c

ははは、それがどのように機能するか見てみましょう。 。 。

興味のある記事

    PHP 関数 urlencode()、urldecode()、rawurlencode()、rawurldecode()
  • 制限方法js では英語の文字と数字のみに変換されますが、中国語やその他の特殊文字は変換されません
  • php は独自の MVC フレームワークの単純なケースを作成し、参考用としてのみアイデアを提供します
  • で送信される文字化けする中国語の文字に対する解決策AJAX で POST または GET
  • テーブル構造を変更する mysql コマンド: フィールドの追加、削除、変更、フィールド順序の調整
  • PHP でデータを送信するにはcurl postを使用する 取得方法とメソッドのまとめWeb ページ データ
  • js URL 内の指定されたパラメータの値を変更します
  • チェックボックスとラジオはテキストに対して水平および垂直になります中央揃えの解決策



声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール