5

アプリケーションに登録フォームがあります。誰かが登録を完了すると、登録を確認するためのリンクが記載された電子メールを受け取ります (典型的な状況)。

リンクはこんな感じ

http://www.myDomain.com/registration/validation/m0NQGT4XzQgId5zuH/1PrDqNSP7YWq81Mba8cSXLb1WsQ5aVqf2sQ3Ece3ZdmxYvLjztaGp7Xmhv8ArjFET/8Q==

  • 登録はコントローラーです
  • 検証は機能です
  • 最後の1つはユーザー名です

ユーザー名のエンコード:

$encrypted_username = $this->encrypt->encode($username);

ただし、リンクにアクセスすると次のエラーが返されます

あなたが提出されたURIは、許可されていない文字が含まれています。

設定$config['permitted_uri_chars'] = '';はすべてうまくいきますが、これを行うべきではないと彼らは言います。

では、どうすればこの問題を正しく解決できますか?

4

2 に答える 2

7

config.phpをに変更しました

$config['permitted_uri_chars'] = '+=\a-z 0-9~%.:_-';

現在は正常に機能しています。これが安全なソリューションであることを願っています。

于 2012-12-21T16:22:39.030 に答える