CI がパーセント記号の最後の 2 桁を自動的に除外する問題の解決策 _PHP チュートリアル
CodeIgniter によって作成された Web サイトに、コードを入力したいと思います:
リーリーしかし、ライブラリに入った後、コードが次のようになっていることがわかりました
リーリーオンライン環境とローカル環境の両方でテストを行った結果、最終的にCodeIgniterシステムの問題であることが確認されました。問題解決のプロセスと思考方法について話しましょう:
1. config.php の allowed_uri_chars は?
リーリーstackoverflow で同様の質問がいくつか見つかりましたが、config.php の allowed_uri_chars を変更するだけという回答もありました。
そうですね...サンプル文字列をもう一度見てみると、「
The URI you submitted has disallowed characters
」が得られる理由は次のとおりです。簡単な説明: アンパサンド & を許可文字リストに追加します
リーリー
試してみましたがうまくいかなかったので、$config['permitted_uri_chars']を適用したコードを探しました。
2. core/Input.phpの_clean_input_keys()関数に問題があるのでしょうか?
リーリーこの関数は $config['permitted_uri_chars'] を使用して投稿データを直接フィルタリングします。これが主な原因です。それを分離し、post $var = sprintf("%04d", 2); をテストした結果、結果は依然として $var = sprintf("%04d", 2); であることがわかりました。%04 はフィルタされていません。参照してください。注意深く探さなければなりません。
3. xssの防御機構ですか?
Stackoverflow 誰かがこの問題を完璧に解決した、それは xss clean のせいだと言いました。
そこで、core/security.php で xss_clean() 関数を見つけました。すべての関数本体コードをコメント アウトすると、入力では依然として %04 が除外されることがわかりますが、これは明らかに xss の問題ではありません。:) くそー、URLDECODE、URI.php のコードを見ましたが、xss clean が機能しているので見逃していました。ありがとうございます。これですべてが完璧になりました。
4. 問題は _clean_input_data() 関数にあります
Input.php に戻り、_clean_input_data が _clean_input_keys に関連していることを確認します。
リーリー
そこで、_clean_input_data() の関数本体をコメントアウトしましたが、入力はフィルターされませんでした。スコープを絞り続けると、次のコードが問題を引き起こしていることがわかりました。リーリー
5. 犯人はremove_invisible_characters()関数を発見しましたでは、remove_invisible_characters() 関数とは何でしょうか?
この関数は core/Common.php にあり、私はそれを取り出しました:
リーリー
これらのコード行を見てください:リーリー
明確にしておきますが、%0 と %1 で始まる 3 文字が除外されます。これをコメントアウトするだけで問題は解決します。この問題を解決するための思考プロセス全体を記録します。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











CodeIgniter でカスタム ミドルウェアを実装する方法 はじめに: 最新の Web 開発では、ミドルウェアがアプリケーションで重要な役割を果たします。これらは、リクエストがコントローラーに到達する前または後に、共有処理ロジックを実行するために使用できます。 CodeIgniter は、人気のある PHP フレームワークとして、ミドルウェアの使用もサポートしています。この記事では、CodeIgniter でカスタム ミドルウェアを実装する方法を紹介し、簡単なコード例を示します。ミドルウェアの概要: ミドルウェアは一種のリクエストです

CodeIgniter ミドルウェア: アプリケーションの応答性とページ レンダリングの高速化 概要: Web アプリケーションの複雑さと対話性が増大し続ける中、開発者はアプリケーションのパフォーマンスと応答性を向上させるために、より効率的でスケーラブルなソリューションを使用する必要があります。 CodeIgniter (CI) は、多くの便利な機能を提供する軽量の PHP ベースのフレームワークであり、その 1 つがミドルウェアです。ミドルウェアは、リクエストがコントローラーに到達する前または後に実行される一連のタスクです。この記事では使い方を紹介します

CodeIgniter フレームワークでデータベース クエリ ビルダー (QueryBuilder) を使用する方法の紹介: CodeIgniter は、開発者が Web アプリケーション開発を容易にするための強力なツールとライブラリを多数提供する軽量の PHP フレームワークです。最も印象的な機能の 1 つは、データベース クエリ ビルダー (QueryBuilder) です。これは、データベース クエリ ステートメントを構築および実行するための簡潔かつ強力な方法を提供します。この記事ではCoの使い方を紹介します。

Web アプリケーションは進化し続けるため、アプリケーションをより迅速かつ効率的に開発することが重要です。また、RESTful API は Web アプリケーションで広く使用されているため、開発者は RESTful API の作成および実装方法を理解する必要があります。この記事では、CodeIgniter フレームワークを使用して MVC パターンと RESTful API を実装する方法について説明します。 MVC パターン MVC (Model-Vie) の概要

CodeIgniter は、MVC アーキテクチャを使用して迅速な開発をサポートし、一般的なタスクを簡素化する軽量の PHP フレームワークです。 CodeIgniter5 はフレームワークの最新バージョンであり、多くの新機能と改善点が提供されています。この記事では、CodeIgniter5 フレームワークを使用して簡単な Web アプリケーションを構築する方法を紹介します。ステップ 1: CodeIgniter5 をインストールする CodeIgniter5 のダウンロードとインストールは非常に簡単で、次の手順に従うだけです。 最新バージョンをダウンロードします。

CodeIgniter ミドルウェア: 安全なファイルのアップロードおよびダウンロード機能を提供します はじめに: Web アプリケーション開発のプロセスにおいて、ファイルのアップロードとダウンロードは非常に一般的な機能です。ただし、セキュリティ上の理由から、ファイルのアップロードとダウンロードの処理には追加のセキュリティ対策が必要になることがよくあります。 CodeIgniter は、開発者による安全で信頼性の高い Web アプリケーションの構築をサポートする豊富なツールとライブラリを提供する人気の PHP フレームワークです。この記事では、CodeIgniter ミドルウェアを使用して安全なファイルを実装する方法を紹介します。

今日のインターネット時代において、ユーザーに愛される Web サイトには、シンプルかつ明確なフロントエンド インターフェイスと強力なバックエンド管理システムが必要です。PHP フレームワーク CodeIgniter は、開発者がバックエンドを迅速に構築できる優れたフレームワークです。マネジメントシステム。 CodeIgniter は軽量、高効率、拡張が容易という特徴を持っており、本記事では初心者向けにこのフレームワークでバックエンド管理システムを短期間で構築する方法を詳しく解説します。 1. インストールと設定 PHPCodeIgniter のインストールは PHP ベースです。

近年、Web 開発テクノロジの進歩とグローバルなインターネット アプリケーションの継続的な拡大により、PHP テクノロジがますます広く使用されるようになりました。急速に発展するテクノロジーとして、そのエコシステムは成長し続けています。中でもCodeIgniterはPHP開発の分野で有名なフレームワークの一つとして多くの開発者に人気があります。この記事では、CodeIgniter フレームワークの関連知識を紹介し、初心者向けの入門ガイドを提供します。 1. CodeIgniter フレームワークとは何ですか?コードIg
