thinkphp ist ein beliebtes PHP-Framework für die Entwicklung von Webanwendungen. Bei der Verwendung des thinkphp-Frameworks werden häufig Verifizierungscodes benötigt, um die Systemsicherheit zu erhöhen. Die standardmäßigen Verifizierungscodestile und Bilder von thinkphp sind möglicherweise für bestimmte Anwendungsszenarien nicht geeignet und müssen geändert werden. In diesem Artikel erfahren Sie, wie Sie den Standard-Bestätigungscode von thinkphp ändern.
1. Finden Sie den Verifizierungscode-Controller
Im thinkphp-Framework wird der Verifizierungscode von einem integrierten Controller generiert und ausgegeben. Der Quellcode dieses Controllers befindet sich im Bibliotheksdateiverzeichnis des thinkphp-Frameworks. Der allgemeine Pfad lautet: thinkphp/library/think/captcha/Controller.php.
2. Kopieren Sie den Verifizierungscode-Controller
Um Fehler bei Systemaktualisierungen zu vermeiden, die durch die Änderung des Standard-Verifizierungscode-Controllers verursacht werden, sollten Sie den Standard-Verifizierungscode-Controller in ein neues Verzeichnis unter dem Anwendungsverzeichnis kopieren.
Die spezifischen Schritte sind wie folgt:
3. Ändern Sie den Bestätigungscode-Controller
Jetzt können wir den Bestätigungscode-Controller ändern und die Art und Weise ändern, wie der Bestätigungscode generiert und ausgegeben wird.
Die Standardausgabemethode des Bestätigungscodes besteht darin, ein Bild im GIF-Format zurückzugeben, und wir können die Ausgabemethode ändern, um andere Arten von Bestätigungscodes zu implementieren. Beispielsweise kann der Verifizierungscode als Bild im SVG-Format ausgegeben werden.
Ändern Sie die Ausgabemethode für den Bestätigungscode wie folgt:
public function show() { $config = [ 'expire' => 3, //验证码过期时间(s) 'length' => 4, //验证码长度 'imageH' => 60, //验证码高度 'fontSize' => 20, //验证码字体大小(px) 'useCurve' => false, //是否画混淆曲线 'useNoise' => false, //是否添加杂点 'bg' => [255, 255, 255], //背景颜色 ]; $captcha = new Captcha($config); $captcha->codeSet = '0123456789';//只用数字作为验证码 // 输出svg格式的图片 echo $captcha->entry('svg'); }
Thinkphps Standardmethode zur Generierung von Bestätigungscodes besteht darin, Zahlen und Buchstaben nach dem Zufallsprinzip zu generieren. Wir können die Generierungsmethode auch ändern, um unterschiedliche Anforderungen zu erfüllen . Beispielsweise kann ein Verifizierungscode in chinesischen Schriftzeichen generiert werden.
Ändern Sie die Methode zur Generierung des Bestätigungscodes wie folgt (am Beispiel der Generierung des chinesischen Bestätigungscodes):
public function show() { //引入新字体文件(这里以方正胖头鱼体为例,字体文件需要自己上传) $ttf_file = __DIR__ .'/fzpty.ttf'; $codeSet = '玩家参与游戏,从而培养了自己 的游戏能力'; //验证码文字内容 $config = [ 'expire' => 3, //验证码过期时间(s) 'length' => 4, //验证码长度 'useZh' => true, //使用中文验证码 'fontttf' => $ttf_file, //指定ttf字体文件 'imageH' => 60, //验证码高度 'fontSize' => 20, //验证码字体大小(px) 'useCurve' => false, //是否画混淆曲线 'useNoise' => false, //是否添加杂点 'bg' => [255, 255, 255], //背景颜色 ]; $captcha = new Captcha($config); $captcha->codeSet = $codeSet;//设置验证码文字内容 // 输出svg格式的图片 echo $captcha->entry('svg'); }
Vier. Ändern Sie die Konfigurationsdatei für den Bestätigungscode. Der Thinkphp-Verifizierungscode-Controller liest die Parameter in der Konfigurationsdatei, um die Generierung zu bestimmen und Verifizierungscode-Ausgabemodus. Daher können wir auch die Konfigurationsdatei ändern, um den Zweck der Änderung des Bestätigungscodes zu erreichen.
Die spezifischen Schritte sind wie folgt:
Kopieren Sie die Standard-Verifizierungscode-Konfigurationsdatei des Frameworks in Ihr eigenes Anwendungsverzeichnis.return [ 'useNoise' => false, // 是否添加杂点 'useCurve' => false, // 是否画混淆曲线 'fontSize' => 25, // 验证码字体大小 'expire' => 1800, // 验证码过期时间(s) 'length' => 4, // 验证码长度 'fontttf' => '', //验证码字体文件路径 'bg' => [255, 255, 255], // 验证码背景颜色,如果设置为数组则表示渐变色 ];
5. Zusammenfassung
Durch die oben genannten Schritte können wir den Standard-Bestätigungscode von thinkphp ändern, um benutzerdefinierte Stile und Inhalte des Bestätigungscodes zu erreichen . Es ist zu beachten, dass beim Ändern des Verifizierungscode-Controllers und der Konfigurationsdateien die kopierten Dateien im Anwendungsverzeichnis abgelegt werden müssen, um ein Überschreiben nach Versionsaktualisierungen zu vermeiden.
Das obige ist der detaillierte Inhalt vonSo ändern Sie den Standard-Bestätigungscode von thinkphp. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!