草庐IT

args_file

全部标签

php - 我们应该清理 $_FILES ['filename' ] ['name' ] 吗?

在用户将图像上传到服务器后,我们是否应该清理$_FILES['filename']['name']?我会检查文件大小/文件类型等。但我不会检查其他内容。是否存在潜在的安全漏洞?谢谢 最佳答案 绝对!正如@Bob已经提到的,普通文件名很容易被覆盖。还有一些问题您可能想要涵盖,例如并非所有Windows中允许的字符在*nix中都被允许,反之亦然。文件名还可能包含相对路径,并可能覆盖其他未上传的文件。这是我为phunctionPHPframework编写的Upload()方法:functionUpload($source,$destina

php - 一种使 md5_file() 更快的方法?

我目前使用md5_file()来运行大约15个URL并验证它们的MD5哈希值。有没有办法让我更快?遍历所有这些花费的时间太长了。 最佳答案 可能您现在正在按顺序进行操作。IE。获取数据1,处理数据1,获取数据2,处理数据2,...瓶颈可能是数据传输。你可以使用curl_multi_exec()将其并行化一点。要么注册一个CURLOPT_WRITEFUNCTION并处理每一block数据(棘手,因为md5()只处理一个数据block)。或者检查已经完成的curl句柄,然后处理该句柄的数据。编辑:使用hashextension的快速&肮

php - 来自 url 的 file_get_contents 只能在登录网站后访问

我想制作一个可以从网站捕获页面的php脚本。想想file_get_contents($url)。但是,本网站要求您在访问任何页面之前填写用户名/密码登录表。我想象一下,一旦登录,网站就会向您的浏览器发送一个身份验证cookie,并且对于每个后续的浏览器请求,session信息都会传回网站以对访问进行身份验证。我想知道如何使用php脚本模拟浏览器的这种行为,以便获得访问权限并从该网站捕获页面。更具体地说,我的问题是:我如何发送一个请求包含我的登录详细信息,以便网站回复session信息/cookie我如何阅读类(class)信息/cookie我如何传回这个session信息与每一个结果请

php - 如何使用 file_get_contents 或 file_get_html?

我已经阅读了很多关于这里的问题,我不确定我是否应该为此使用file_get_contents或file_get_html。我想做的就是使用PHP在我的网站上显示此页面中的两个表:http://www.statmyweb.com/recently-analyzed/当然,我知道如何获取他们的完整页面并将其显示在我的网站上,但我不知道如何在不获取页眉/页脚的情况下只拉出这两个表格。 最佳答案 您需要file_get_html,因为file_get_contents会将响应主体加载到字符串中,而file_get_html会将其加载到sim

php - 文件权限和 CHMOD : How to set 777 in PHP upon file creation?

保存文件时有关文件权限的问题,当文件不存在时,最初创建为新文件。现在,一切顺利,保存的文件似乎具有644模式。为了使文件保存为777模式,我必须在此处更改什么?感谢一千人提供的任何提示、线索或答案。我认为与此处相关的代码包括在内:/*writetofile*/self::writeFileContent($path,$value);/*Writecontenttofile*@paramstring$fileSavecontenttowhichfile*@paramstring$contentStringthatneedstobewrittentothefile*@returnbool*

php - Recaptcha 未使用 file_get_contents 进行验证

对为什么这不起作用感到困惑。提交表单后,我收到错误消息,这意味着我的recaptcha验证失败。来self的表单:PHP:if(isset($_POST['g-recaptcha-response'])){$captcha=$_POST['g-recaptcha-response'];}$secretKey="(secret-key)";$response=file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=".$secretKey."&response=".$captcha);$respo

php - laravel PDO::ATTR_STATEMENT_CLASS 需要格式 array(classname, array(ctor_args));类名必须是指定现有类的字符串

我正在做一个laravel项目,然后我使用composer安装了一个新包,我发现了这个错误PDO::ATTR_STATEMENT_CLASS需要格式array(classname,array(ctor_args));类名必须是指定现有类的字符串我试着:-恢复到之前在git上的提交删除供应商文件夹和composer.lock并重新安装都没有结果 最佳答案 这里遇到了同样的问题。到目前为止,降级到composerrequiredoctrine/dbal=2.6.3就可以了。 关于php-la

php - 有没有可能做比这更短的 "if file exists then append, else create new file"

我有以下代码,但我试图将其缩短一两行,因为我认为if是不必要的。有什么办法可以将下面的代码缩短为单行吗?if(file_exists($myFile)){$fh=fopen($myFile,'a');fwrite($fh,$message."\n");}else{$fh=fopen($myFile,'w');fwrite($fh,$message."\n");} 最佳答案 if(file_exists($myFile)){$fh=fopen($myFile,'a');fwrite($fh,$message."\n");}else{$

php - 如何将 file_put_contents() 与 FILE_APPEND 一起使用 | LOCK_EX 安全吗?

我正在使用:file_put_contents("peopleList.txt",$person,FILE_APPEND|LOCK_EX);写入文件末尾并确保没有其他人(或脚本)同时写入同一文件。PHPmanual表示如果不成功,它将返回一个假值。如果它不能获得文件的锁,它会失败,还是继续尝试直到它可以?如果在无法获得锁的情况下确实失败,确保数据写入的最佳方法是什么?也许在while循环中循环函数直到它不返回false(畏缩)或者只是向用户(网站访问者)提供某种GUI以请求他们重试? 最佳答案 其实我之前的回答有点过时了。flock

PHP:在 5.4 版中使用构造数组或 func_get_args() 调用反射方法之间的差异令人困惑

这是PHP5.4中关于通过引用传递对象的非常边缘的情况,会出现此错误:PHPWarning:Parameter1toA::foo()expectedtobeareference,valuegiven但仅作为以下的复合效果:使用反射将继承的方法设置为“可访问”,并且该方法采用显式引用参数(&argumentsig)然后使用func_get_args()调用它,而不是手动构建args数组。不知道为什么这些事情都会导致这种行为,或者它们是否应该。重要的是要注意,PHP5.5中不存在这种效果。这是会导致上述错误的代码,但如果您用COMMENTTHISLINE注释该行,代码运行正常(例如,对象被