1

CodeIgniter の config.php ファイルから:

/*
|--------------------------------------------------------------------------
| Allowed URL Characters
|--------------------------------------------------------------------------
|
| This lets you specify with a regular expression which characters are permitted
| within your URLs.  When someone tries to submit a URL with disallowed
| characters they will get a warning message.
|
| As a security measure you are STRONGLY encouraged to restrict URLs to
| as few characters as possible.  By default only these are allowed: a-z 0-9~%.:_-
|
| Leave blank to allow all characters -- but only if you are insane.
|
| DO NOT CHANGE THIS UNLESS YOU FULLY UNDERSTAND THE REPERCUSSIONS!!
|
*/
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';

@この許可された文字のリストにその文字を追加しても安全でしょうか? リスクは何ですか?

ありがとう

4

6 に答える 6

3

@ は、HTTP 認証を必要とする URL の先頭にユーザー名と場合によってはパスワードを追加するために使用されます。それがどのように安全でないか、このコメントからはわかりません。理論的には、コンテキストによっては、ユーザーにそのような URL を入力させたくない場合があります。

それ以外には、この種のセキュリティチェックは少し..ばかげています.ASCII以外の文字を使用するトップレベルドメインが増えています.ロシアには.рфが割り当てられ、中国本土には.中國が割り当てられました.他にも多くの例があります.

http://en.wikipedia.org/wiki/Internationalized_domain_name

于 2010-11-08T07:37:19.440 に答える
1

安全です。安全でない文字のリストを参照してください

http://www.blooberry.com/indexdot/html/topics/urlencoding.htm

于 2010-11-08T07:30:10.720 に答える
1

この種の URL を防止するために、ここには記載されていません。

http://mybank.com-some-very-long-string@hacker.com/

これは、カジュアルなソ連邦hacker.comのように見えます。mybank.com

于 2010-11-08T07:33:12.110 に答える
1

エンコードしない限り、すべきではありません。エンコードされていないものは、FTP ユーザー ( monty@ftp.python.com @) や電子メール アドレス (monty.python@camelot.com) などの特別な意味のために予約されています。

だから、誘惑に関係なく、それをしないでください。とにかくしたいのはなぜですか?

于 2010-11-08T07:36:09.220 に答える
1

RFC 1738 は、URI のパス セグメントで次の文字のみを許可します: A-Za-z0-9_\-\.!~*\'"(),(クエリ部分ではない)

于 2010-11-08T07:37:01.100 に答える
-1

詳細についてはこちらをご覧ください。エンコーディングを使用して危険な文字を使用する方法を提案しています。

http://perishablepress.com/stop-using-unsafe-characters-in-urls/ javascript の詳細: 危険になる可能性があります

< を使用して、< 記号やその他の特殊な危険文字をそれぞれの代替文字に置き換えることができます。

于 2015-02-04T06:41:32.070 に答える