草庐IT

compiled_filter

全部标签

php - 有效模式的 PHP 中的 "preg_match(): Compilation failed: unmatched parentheses"

想知道是否有人可以阐明为什么在PHP的preg_match函数中使用以下正则表达式会失败:-这会导致错误消息“preg_match():编译失败:括号不匹配”,尽管该模式似乎是有效的。我用在线测试了它PHPRegularExpressiontester和Linux工具Kiki。似乎PHP正在转义左括号而不是反斜杠。我通过使用str_replace将反斜杠换成正斜杠来解决这个问题。这适用于我的情况,但很高兴知道为什么这个正则表达式失败。 最佳答案 要对文字反斜杠进行编码,您需要将其转义两次:一次用于字符串,一次用于正则表达式引擎:pr

php - 密集的 PHP 脚本失败 w/"The timeout specified has expired"错误/ap_content_length_filter

运行失败的MySQL密集型PHP脚本。Apache日志报告如下:[WedJan1300:20:102010][error][clientxxx.xx.xxx.xxxx](70007)Thetimeoutspecifiedhasexpired:ap_content_length_filter:apr_bucket_read()failed,referer:http://domain.com/script.php尝试将set_time_limit(0)放在顶部。还尝试了set_time_limit(0)都没有修复超时。我可以在http.conf(或其他地方)中设置一些特定的超时限制来防止这

php - 使用带有回调函数的 array_filter 删除空数组元素

我正在尝试使用函数array_filter删除数组中的空元素。当我使用这样的外部回调时:functioncallback($a){return!empty($a);}$arr=array("abc",'','ghi');$res=array_filter($arr,"callback");它按预期工作。但是如果我那样使用array_filter:$arr=array("abc",'','ghi');$res=array_filter($arr,function($a){return!empty($a);});它因错误而失败:PHPParseerror:syntaxerror,unexp

php - "filter input, escape output"对 PDO 是否仍然有效

我在“过滤输入,转义输出”之前读过这篇文章,但是当我在PHP中使用PDO时真的需要过滤输入吗?我认为使用PDO我不需要过滤输入,因为准备好的语句会处理sql注入(inject)。我认为“转义输出”仍然有效,但“过滤输入”仍然有效吗? 最佳答案 是的,它仍然有效。过滤不是要防止安全漏洞,而是不要用垃圾填充您的数据库。如果您需要一个日期,请在存储之前确保它至少看起来像一个日期。转义输出是为了防止安全漏洞(即XSS或跨站点脚本)。所以,是的,两者都非常重要,并且与SQL注入(inject)完全无关(尽管相当多的开发人员仍然混淆了SQL查询

php - 我应该使用 PHP Superglobals 还是 Filter Input 来检索 $_GET 数据?

我真的很讨厌全局变量——也许是因为我是C#程序员,但是当我在PHP中工作时,每次我不得不做这样的事情时我都会咬紧牙关:$strUsername=$_GET['username'];是的,我过于简单化了,是的,我正确地清理了所有这些。事实上,对于我构建的框架,几乎在执行开始时就捕获了所有超全局变量,并从那里开始进行依赖注入(inject)。我在PHP手册中遇到过这个函数(你真的每天都能学到新东西):filter_input_array()。所以现在,从技术上讲,我可以这样做而不是从GET超全局中获取所有内容:$GETdata=filter_input_array(INPUT_GET);.

php - 谷歌分析 API : filter by multiple URIs?

问题是我需要过滤大约100个位于数据库中的分析URI(比如说网站最重要的页面),它可以一个一个地查询,但我认为它效率不高。目标是一次过滤所有URI。而不是filters=ga:pagePath==/firstURI我需要一些类似的东西filters=ga:pagePath==/firstURI&&/secondURI&&/thirdURI&&/...URI我玩过http://ga-dev-tools.appspot.com/explorer/?csw=1并搜索了有关它的文档,但找不到任何东西!我希望你能帮助我! 最佳答案 在使用Go

php - 为什么 PHP filter_var 说这是一个有效的电子邮件地址?

当用户注册到我的站点时,我使用filter_varPHP函数来验证电子邮件地址。我使用帖子中的这段代码:$email=filter_var($_POST['email'],FILTER_VALIDATE_EMAIL);然后我做:if(!$email){//returntotheform}else{//sendregistrationinfo}现在当我var_dump($email)时,我得到了输出:string(23)"user."name"@example.com"我想知道为什么这不会返回false。我认为双引号是NotAcceptable,那么为什么PHP说它是有效的呢?

php - preg_match() : Compilation failed: character value in\x{} or\o{} is too large at offset 27 on line number 25

我正在编写一些PHP代码。在此代码中,我在for循环中运行for循环以遍历数组,然后遍历数组中当前字符串中的字符。然后我想对当前字符串执行preg_match()以查看它是否匹配相当长的RegEx。preg_match('/[\f\n\r\t\v\x{00a0}\x{1680}\x{180e}\x{2000-}\x{200a}\x{2028}\x{2029}\x{202f}\x{205f}\x{3000}\x{feff}]/',$input[$i][$j])但我不断收到以下错误:WARNINGpreg_match():Compilationfailed:charactervaluein

PHP 的新 input_filter 不读取 $_GET 或 $_POST 数组

在PHP5.2中添加了一个很好的安全函数,称为“input_filter”,所以不用说:$name=$_GET['name'];你现在可以说:$name=filter_input(INPUT_GET,'name',FILTER_SANITIZE_STRING);它会自动清理你的字符串,还有:FILTER_SANITIZE_ENCODEDFILTER_SANITIZE_NUMBER_INTFILTER_SANITIZE_EMAILFILTER_SANITIZE_URL等所以这是一个非常方便使用的安全功能,我想完全切换到它。问题是...我经常在处理$_GET和$_POST数组之前对其进行操

Java - You aren‘t using a compiler supported by lombok, so lombok will not work and has been disable

问题描述java:Youaren‘tusingacompilersupportedbylombok,solombokwillnotworkandhasbeendisabled原因分析一般出现这种情况是由于Lombok版本不兼容(低版本)或者IDEA启动时需要配置JVM参数跳过即可解决方案方法一将Lombok版本提升至1.18.24后问题就可以解决org.projectlomboklomboktrue1.18.24方法二在Compiler中增加如下参数配置即可(推荐)-Djps.track.ap.dependencies=false