草庐IT

有效性

全部标签

php - 更改密码哈希类型的最有效方法(md5 到 sha1)

我有一个系统使用MD5来散列我的用户的密码并将其存储到我的数据库中。现在,我正在更改为另一个使用SHA1(和一个唯一的系统SALT,而不是用户唯一的)来散列密码的系统。如何使用PHP将用户旧的MD5密码转换为我的新SHA1密码? 最佳答案 您不能将md5转换为sha但实际上您的用户仅在他们即将登录时才使用密码,因此您可以修改脚本一点点自动更新//Theuserisnotauthticatedyet$auth=false;$updated=false;//FromyourLoginform$user=$_POST['user'];$p

php - 有没有比爆炸更有效的获取电子邮件后缀的方法? (PHP)

我用来获取电子邮件后缀的当前代码$emailarray=explode('@',$email_address);$emailSuffix=$emailarray[1];必须有一个更高效的函数。也许使用substr()? 最佳答案 更短:$emailSuffix=end(explode('@',$email_address));但我认为没有比这更有效的了。正则表达式可能更慢。编辑我做了一些测试,虽然这个版本比使用快3倍$a=explode('@',$email_address);$foo=$a[1];和if(preg_match('~

php - 缩短 if 语句的最有效方法

如果代码如下,如何缩短if语句?$a=null;$b="foo";if((empty($a)&&!empty($b))||(!empty($a)&&empty($b)){} 最佳答案 $a=null;$b="foo";if(empty($a)xorempty($b)){} 关于php-缩短if语句的最有效方法,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/50212279/

有效 XML 标签名称的 PHP 正则表达式

确定字符串是否为有效的XML标记名称的通用正则表达式(用PHP术语)是什么?我开始使用/[^>]+/i但这也匹配类似4\的内容这显然不是有效的标签名称。所以我尝试组合所有有效字符,例如/[a-z][a-z0-9_-]*/i这也不完全正确,因为XML几乎允许外语标签名称中的任何字符。我现在坚持这个问题-我应该只检查是否有空白字符吗?或者还有更多? 最佳答案 为什么不使用已经知道规则的XML解析器/生成器呢?functionisValidXmlElementName($elementName){try{newDOMElement($el

php - 如何检查访问者的 IP 地址是否仍然有效或在线?

是否可以使用他们的IP地址检查访问者是否仍然在线?我已经创建了一个javascript和php来检查访问者的ip地址,当他们使用onLoad和onBeforeUnload事件打开我的页面之一时。但在某些情况下,我的脚本无法检测到访问者是否仍在打开我的网站。因为onBeforeUnload并不总是可靠的。在这种情况下,我想知道是否有其他方法可以检测访问者是否仍然在线。如果访问者仍然打开页面但没有阅读它,因为他/她可能正在阅读其他站点或运行其他程序,我仍会认为他/她在线。但是,如果访问者关闭了浏览器,但我的脚本无法检测到它的卸载事件,我想知道他/她是否仍然在线。PHP或javascript

PHP Tidy 删除有效标签

我正在使用php扩展tidy-html来清理php输出。我知道tidy会删除无效标签,甚至无法处理HTML5文档类型,但我使用的是标签曾经在HTML规范中。但是,它会更改为无论如何。奇怪的是,之前它没有这样做。我更改了整洁的配置,但它已经中断。现在我已经关闭了所有与标签混淆的选项,但它没有帮助。我的脚本很冗长:$tidy_config=array('char-encoding'=>'utf8','output-encoding'=>'utf8','output-html'=>true,'numeric-entities'=>false,'ascii-chars'=>false,'doc

php - array_pop() 数组中最后 n 个元素的最有效方法是什么?

弹出数组中最后n个元素的有效方法是什么?这是一个:$arr=range(1,10);$n=2;$popped_array=array();for($i=0;$i有没有更高效的方法? 最佳答案 使用array_splice():如果您要删除最后的n元素,请使用以下函数:functionarray_pop_n(array$arr,$n){returnarray_splice($arr,0,-$n);}Demo如果你只想检索最后的n个元素,那么你可以使用下面的函数:functionarray_pop_n(array$arr,$n){arr

php - 最有效的数据库日期存储方法?

所以我想在我的SQL数据库中存储一个日期,但不确定最有效的方法是什么。我想到了两种不同的方法。首先,人们将能够为每一天设定一个特定的价格。例如:March8,2011:$1March9,2011:$2March10,2011:$5对于我的数据库,我正在考虑存储UNIX时间戳或在单独的字段中存储月、日和年。第一种方法:UNIX时间戳优点只有一个字段缺点必须将日期转换为时间戳必须在开始日期和结束日期之间搜索容易在搜索中出错月/日/年优点更容易搜索缺点更多领域占用更多空间将存储大量数据,因此可能会降低数据库速度。根据以上信息,您的建议是什么?(如果有任何不清楚的地方,我可以澄清。)

php - php 中的哪个函数验证字符串是否为有效的 html?

php中的哪个函数验证字符串是否为html?我的目标是从用户那里获取输入并检查是否输入了html而不仅仅是字符串。非html字符串的示例:sdkjshdkjdivdfadfsdforsdkjshdkivdfadfsdfhtml字符串示例:sdfsdfsdfdghdhdghfdsgfgdfgfd谢谢 最佳答案 也许您需要检查字符串是否格式正确。我会使用这样的函数functioncheck($string){$start=strpos($string,'',$start);$len=strlen($string);if($end!==f

php - empty() 不是有效的回调?

我正在尝试在php的数组映射中使用empty()。我收到错误消息,提示它不是有效的回调。$cattest.phparray('','',''),);foreach($arraysas$key=>$array){echo$key."\n";echoarray_reduce($array,"empty");var_dump(array_map("empty",$array));echo"\n\n";}$phptest.phparrEmptyWarning:array_reduce():Thesecondargument,'empty',shouldbeavalidcallbackin/va