当前位置:  开发笔记 > 程序员 > 正文

筛选输入网址的最佳方法是什么?

如何解决《筛选输入网址的最佳方法是什么?》经验,为你挑选了1个好方法。

我有一个表单接受来自PHP用户的URL.

我应该允许或禁止哪些角色?目前我用

$ input = preg_replace("/ [^ a-zA-Z0-9 - \?:#.()\,/ \&\'\\"] /","",$ string);

$输入= SUBSTR($输入,0255);

因此,它被修剪为255个字符,只能包含字母,数字和? - _:#(),&'"/

我应该剥离的任何东西,我不是,或者我正在剥离的东西,可能需要在一个有效的URL?



1> David Z..:

定义URL规范的RFC 1738规定只有字符

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+.-

可以在URL方案中使用,也可以仅在字符中使用

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789$-_.+!*'(),;/?:@=&

可以在URL的特定于方案的部分中使用未编码的.(;/?:@=&如果使用未编码,必须用于"保留目的",但如果您只是检查无效字符,则无需担心).因此,如果您想要完全通用,我会检查此正则表达式的URL:

"/([a-zA-Z+.-]+:\/\/)?([a-zA-Z0-9\$\-_\.\+\!\*'\(\),\;\/\?\:\@\=\&]+)/"

(可能一些逃脱不是必要的).如果您只是在寻找HTTP URL,(其中一些)其他答案应该没问题.

推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有