Heim Backend-Entwicklung PHP-Tutorial CodeIgniter框架提示Disallowed Key Characters的解决办法_php实例

CodeIgniter框架提示Disallowed Key Characters的解决办法_php实例

Jun 07, 2016 pm 05:20 PM
codeigniter key

打开ci框架的源码不难发现,在ci的核心input类中有这样一个函数:

复制代码 代码如下:

function _clean_input_keys($str)
    {
        if ( ! preg_match("/^[a-z0-9:_\/-]+$/i", $str))
        {
            exit('Disallowed Key Characters.');
        }

        // Clean UTF-8 if supported
        if (UTF8_ENABLED === TRUE)
        {
            $str = $this->uni->clean_string($str);
        }

        return $str;
}

这是进行过滤的,所以抛出错误

我们在application的core中对这个方法进行重写即可
命名一个为MY_Input.php(前缀MY_可以在config.php中自定义),然后将下面代码加入即可

复制代码 代码如下:

class AI_Input extends CI_Input {

    //构造函数
    function __construct(){
        parent::__construct();
    }

    function _clean_input_keys($str)
    {
        if(preg_match("/^,_[a-z0-9:_\/-]+$/",$str)){
            $str = preg_replace("/,_/","",$str);
        }

        if ( ! preg_match("/^[a-z0-9:_\/-]+$/i", $str))
        {
            exit('Disallowed Key Characters.'.$str);
        }
        return $str;
    }
}
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was bedeutet das Identitätsattribut in SQL? Was bedeutet das Identitätsattribut in SQL? Feb 19, 2024 am 11:24 AM

Was ist Identität in SQL? In SQL ist Identität ein spezieller Datentyp, der zum Generieren automatisch inkrementierender Zahlen verwendet wird. Er wird häufig verwendet, um jede Datenzeile in einer Tabelle eindeutig zu identifizieren. Die Spalte „Identität“ wird oft in Verbindung mit der Primärschlüsselspalte verwendet, um sicherzustellen, dass jeder Datensatz eine eindeutige Kennung hat. In diesem Artikel wird die Verwendung von Identity detailliert beschrieben und es werden einige praktische Codebeispiele aufgeführt. Die grundlegende Möglichkeit, Identity zu verwenden, besteht darin, Identit beim Erstellen einer Tabelle zu verwenden.

Wie SpringBoot Redis-Schlüsseländerungsereignisse überwacht Wie SpringBoot Redis-Schlüsseländerungsereignisse überwacht May 26, 2023 pm 01:55 PM

1. Funktionsübersicht Mit der Keyspace-Benachrichtigung können Clients Ereignisse empfangen, die Rediskey-Änderungen auf irgendeine Weise ändern, indem sie Kanäle oder Muster abonnieren. Alle Befehle, die Tastenkombinationen ändern. Alle Schlüssel, die den Befehl LPUSHkeyvalue[Wert…] erhalten haben. Alle abgelaufenen Schlüssel in der Datenbankdatenbank. Ereignisse werden über die Abonnement- und Veröffentlichungsfunktionen (Pub/Sub) von Redis verteilt, sodass alle Clients, die Abonnement- und Veröffentlichungsfunktionen unterstützen, die Keyspace-Benachrichtigungsfunktion ohne Änderungen direkt verwenden können. Da die aktuellen Abonnement- und Veröffentlichungsfunktionen von Redis bei Ihrem Programm eine Fire-and-Forget-Strategie verfolgen

So implementieren Sie benutzerdefinierte Middleware in CodeIgniter So implementieren Sie benutzerdefinierte Middleware in CodeIgniter Jul 29, 2023 am 10:53 AM

So implementieren Sie benutzerdefinierte Middleware in CodeIgniter Einführung: In der modernen Webentwicklung spielt Middleware eine wichtige Rolle in Anwendungen. Sie können verwendet werden, um eine gemeinsame Verarbeitungslogik auszuführen, bevor oder nachdem die Anforderung den Controller erreicht. CodeIgniter unterstützt als beliebtes PHP-Framework auch den Einsatz von Middleware. In diesem Artikel wird die Implementierung benutzerdefinierter Middleware in CodeIgniter vorgestellt und ein einfaches Codebeispiel bereitgestellt. Middleware-Übersicht: Middleware ist eine Art Anfrage

Die nicht patchbare Sicherheitslücke im Yubico-Zwei-Faktor-Authentifizierungsschlüssel beeinträchtigt die Sicherheit der meisten Yubikey 5-, Security Key- und YubiHSM 2FA-Geräte Die nicht patchbare Sicherheitslücke im Yubico-Zwei-Faktor-Authentifizierungsschlüssel beeinträchtigt die Sicherheit der meisten Yubikey 5-, Security Key- und YubiHSM 2FA-Geräte Sep 04, 2024 pm 06:32 PM

Eine nicht patchbare Schwachstelle im Yubico-Zwei-Faktor-Authentifizierungsschlüssel hat die Sicherheit der meisten Yubikey 5-, Security Key- und YubiHSM 2FA-Geräte beeinträchtigt. Die Feitian A22 JavaCard und andere Geräte, die TPMs der Infineon SLB96xx-Serie verwenden, sind ebenfalls anfällig.Alle

CodeIgniter-Middleware: Beschleunigen Sie die Reaktionsfähigkeit der Anwendung und das Rendern von Seiten CodeIgniter-Middleware: Beschleunigen Sie die Reaktionsfähigkeit der Anwendung und das Rendern von Seiten Jul 28, 2023 pm 06:51 PM

CodeIgniter-Middleware: Beschleunigung der Anwendungsreaktionsfähigkeit und Seitenwiedergabe Übersicht: Da Webanwendungen immer komplexer und interaktiver werden, müssen Entwickler effizientere und skalierbarere Lösungen verwenden, um die Anwendungsleistung und Reaktionsfähigkeit zu verbessern. CodeIgniter (CI) ist ein leichtes PHP-basiertes Framework, das viele nützliche Funktionen bietet, darunter Middleware. Middleware ist eine Reihe von Aufgaben, die ausgeführt werden, bevor oder nachdem die Anfrage den Controller erreicht. In diesem Artikel wird die Verwendung vorgestellt

So lösen Sie das Problem der Stapellöschung von Schlüsselwerten in Redis So lösen Sie das Problem der Stapellöschung von Schlüsselwerten in Redis May 31, 2023 am 08:59 AM

Aufgetretene Probleme: Während des Entwicklungsprozesses werden Sie auf Schlüssel stoßen, die nach bestimmten Regeln stapelweise gelöscht werden müssen, z. B. login_logID (ID ist eine Variable). Jetzt müssen Sie Daten wie „login_log*“ löschen, aber redis selbst verfügt nur über Befehlsschlüssel für Klassenschlüsselwerte, es gibt jedoch keinen Befehl zum Stapellöschen einer bestimmten Klasse. Lösung: Zuerst abfragen, dann löschen, xargs verwenden, um Parameter zu übergeben (xargs kann Pipe- oder Standardeingabedaten (stdin) in Befehlszeilenparameter umwandeln), zuerst die Abfrageanweisung ausführen und dann den abgefragten Schlüsselwert und die ursprünglichen del-Parameter entfernen. löschen. redis-cliKEYSkey* (Suchbedingung)|xargsr

So verwenden Sie den Datenbankabfrage-Builder (Query Builder) im CodeIgniter-Framework So verwenden Sie den Datenbankabfrage-Builder (Query Builder) im CodeIgniter-Framework Jul 28, 2023 pm 11:13 PM

Einführung in die Methode zur Verwendung des Datenbankabfrage-Builders (QueryBuilder) im CodeIgniter-Framework: CodeIgniter ist ein leichtes PHP-Framework, das viele leistungsstarke Tools und Bibliotheken bereitstellt, um Entwicklern die Entwicklung von Webanwendungen zu erleichtern. Eine der beeindruckendsten Funktionen ist der Datenbankabfrage-Builder (QueryBuilder), der eine übersichtliche und leistungsstarke Möglichkeit zum Erstellen und Ausführen von Datenbankabfrageanweisungen bietet. In diesem Artikel wird die Verwendung von Co. vorgestellt

PHP-Entwicklung: Verwendung von CodeIgniter zur Implementierung des MVC-Musters und der RESTful-API PHP-Entwicklung: Verwendung von CodeIgniter zur Implementierung des MVC-Musters und der RESTful-API Jun 16, 2023 am 08:09 AM

Da sich Webanwendungen ständig weiterentwickeln, ist es wichtig, Anwendungen schneller und effizienter zu entwickeln. Und da RESTful API in Webanwendungen weit verbreitet ist, müssen Entwickler verstehen, wie RESTful API erstellt und implementiert wird. In diesem Artikel besprechen wir, wie man das MVC-Muster und die RESTful-API mithilfe des CodeIgniter-Frameworks implementiert. Einführung in das MVC-Muster MVC (Model-Vie

See all articles