草庐IT

nb_filter

全部标签

php - 我应该使用 filter_var 来验证电子邮件吗?

我有一个类可以在将每个输入发送到数据库层之前对其进行验证。请注意,我的问题与转义或任何事情无关。我的数据库层将处理SQL注入(inject)问题。我想要做的就是验证电子邮件是否有效,因为稍后该电子邮件可能被用作“发送至”。例如,用户将通过发送到电子邮件的链接恢复对其帐户的访问权限。我读了很多关于filter_var的文章,有很多人反对,也有一些人赞成。将注意力集中在“我只想验证电子邮件,而不是针对数据库或html或XSS或其他任何内容对其进行过滤”,使用filter_var是否存在问题? 最佳答案 是的,你应该这样做。使用标准库验证

php - 如果已经使用 FILTER_VALIDATE_EMAIL,FILTER_SANITIZE_EMAIL 是否毫无意义?

我只是在创建一个注册表单,我只想将有效且安全的电子邮件插入数据库。一些网站(包括w3schools)建议在运行FILTER_VALIDATE_EMAIL之前运行FILTER_SANITIZE_EMAIL以确保安全;但是,这可能会将提交的电子邮件从无效的电子邮件更改为有效的电子邮件,这可能不是用户想要的,例如:用户有电子邮件地址jeff!@gmail.com,但不小心插入了jeff"@gmail.com。FILTER_SANITIZE_EMAIL将删除"使FILTER_VALIDATE_EMAIL所说的电子邮件jeff@gmail.com有效,即使它不是用户的实际电子邮件地址。为了避免这

php - Symfony2 : How can I set twig |date ("d F, Y") filter to output months in Swedish?

我的Twig模板中的|date("dF,Y")过滤器有问题。我希望以瑞典语输出月份。我尝试在我的parameters.yml文件中设置“locale:sv”,但没有任何效果。在我从Symfony2.1升级到2.3之前它一直在工作,所以我认为这可能与它有关。关于如何解决这个问题的任何想法? 最佳答案 Twig国际扩展您可以使用TwigIntlExtension在fabpot的官方Twig扩展中找到repository.它提供了一个本地化的日期过滤器,可以像这样使用:{{date|localizeddate('full','none',

php - PHP 的 filter_var FILTER_VALIDATE_EMAIL 真的有效吗?

在阅读了各种帖子后,我决定不使用REGEX来检查电子邮件是否有效,而只使用PHP的内置filter_var函数。它似乎工作正常,直到它开始告诉我一封电子邮件无效,因为我有一个号码。即name@domain.com有效,而name2@domain.com无效。是我遗漏了什么还是filter_var($email,FILTER_VALIDATE_EMAIL)真的很无效? 最佳答案 PHP5.3.3过滤器代码中使用的正则表达式基于MichaelRushton关于EmailAddressValidation的博客。.它似乎确实适用于您提到的

php - 在 array_filter 中使用外部变量

我有一个数组,我想通过外部变量对其进行过滤。情况如下:$id='1';var_dump($id);$foo=array_filter($bar,function($obj){if(isset($obj->foo)){var_dump($id);if($obj->foo==$id)returntrue;}returnfalse;});第一个var_dump返回ID(当然是动态设置的),但是第二个var_dump返回NULL。谁能告诉我原因,以及如何解决? 最佳答案 变量$id不在函数范围内。您需要使用use子句使外部变量可访问:$fo

php - FILTER_SANITIZE_STRING 有什么作用?

大约有一百万个问答解释了诸如FILTER_FLAG_STRIP_LOW之类的选项,但是FILTER_SANITIZE_STRING在没有任何选项的情况下单独做了什么?它只是过滤标签吗? 最佳答案 根据PHPManual:Striptags,optionallystriporencodespecialcharacters.根据W3Schools:TheFILTER_SANITIZE_STRINGfilterstripsorencodesunwantedcharacters.Thisfilterremovesdatathatispote

没有 key 保存的 php array_filter

如果我使用array_filter过滤数组以消除空值,则保留键并在数组中生成“洞”。例如:Thefilteredversionof[0]=>'foo'[1]=>null[2]=>'bar'is[0]=>'foo'[2]=>'bar'我怎样才能得到,而不是[0]=>'foo'[1]=>'bar'? 最佳答案 你可以使用array_values过滤后得到值。 关于没有key保存的phparray_filter,我们在StackOverflow上找到一个类似的问题:

php - POST 变量数组和 filter_input

在使用filter_input时,我无法拉入POST数组变量。POST输入:type=>'container',action=>'edit',data[display]=>1,data[query_limit]=>100我可以从$_POST超全局变量中正确地以数组的形式访问data变量,但是filter_input函数不返回任何内容:$data=$_POST['data'];//Working,woot$data=filter_input(INPUT_POST,'data');//returnsnull,shouldreturnarray$action=filter_input(INP

php - 将 php filter_var 与 mysql_real_escape_string 一起使用

我想通过说开始我的问题,我意识到PDO/mysqli是新标准并且已被广泛覆盖在SO上。但是在这种特殊情况下,我没有时间在启动客户端站点之前将所有查询转换为PDO。网站上的大部分查询都使用了以下内容(我可以补充一下)$userEmail=filter_var($_POST['fEmail'],FILTER_SANITIZE_EMAIL);$userEmail=mysql_real_escape_string($userEmail);$sql="SELECTemailFROMmembersWHEREemail='$userEmail'";::我想知道:如上例所示,一起使用filter_va

Rust中的迭代器的使用:map转换、filter过滤、fold聚合、chain链接

什么是迭代器Rust中的迭代器是一种强大的工具,它提供了一种灵活、通用的方法来遍历序列。迭代器是实现了Iteratortrait的类型,并需要至少实现一个next函数,用于让迭代器指向下一个迭代对象,并返回一个Option用于指示对象是否存在。fnnext(&mutself)->OptionSelf::Item>;迭代器相比于for循环有一些优势。首先,迭代器提供了一种灵活、通用的方法来迭代序列。它允许你使用各种方法来处理序列中的元素,例如map、filter、fold等。这些方法可以让你更简洁、更清晰地表达你的意图。此外,迭代器和Rust的所有权系统密切相连。这意味着你可以使用迭代器来安全地