TypechoJoeTheme

至尊技术网

统计
登录
用户名
密码
/
注册
用户名
邮箱
搜索到 221 篇与 的结果
2021-09-23

解决php中使用json_decode没有数据

解决php中使用json_decode没有数据
php中使用json_decode显示NULL,的原因就是因为json_decode的数据不是严格意义上的UTF-8的编码。所以需要手动修改转码即可!使用php的file_get_contents获取API的json数据,从文件读取的json,js前端传递的json,在json_decode前使用$json = iconv('gbk','utf-8', $json); 转码,然后再使用json_decode$arr = json_decode($json, true);
2021年09月23日
834 阅读
0 评论
2021-09-07

PHP获取当前毫秒时间戳

PHP获取当前毫秒时间戳
/** * 返回当前的毫秒时间戳 * 注意:sprintf('%.0f', $num)是输出不含小数部分的浮点数 */ function msectime() { list($msec, $sec) = explode(' ', microtime()); $msectime = (float)sprintf('%.0f', (floatval($msec) + floatval($sec)) * 1000); return $msectime; } 注:把时间戳改成毫秒级别后,再次更新数据库数据时,却提示超出范围,原来之前在数据库中是用int型来存储time()函数获取的秒级别的时间戳,存储范围是够的,改成毫秒级别的,就得改成BIGINT类型了。
2021年09月07日
1,101 阅读
0 评论
2021-09-01

session使用时卡死、session锁定导致并发阻塞解决办法

session使用时卡死、session锁定导致并发阻塞解决办法
原因:原因在于:执行session_start()后,对应的session文件是被锁定的,直到当前脚本结束才会解锁。session数据被锁定以防止并发写入,所以任何时候只有一个脚本可以在session上运行。在锁定期间,另一个进程访问相同session id 要等文件解锁后session_start()才会开始。解决办法办法也非常简单,开启session后,做了相应的操作,一定要关闭session;例如:只需要在 session 设置好数据后调用, session_write_close() 将数据写入文件并且结束session;PHP示例代码如下:<?php session_start(); $_SESSION["name"] = '至尊技术网'; session_write_close(); 如果不加入session_write_close();并发3个进程访问该页面,第一个进程执行10秒 第二个执行20秒 第三个执行30秒。加入session_write_close()后 ,并发3个进程会同时在10秒后执行完成!
2021年09月01日
1,054 阅读
0 评论
2021-08-14

PHP防止SQL注入

PHP防止SQL注入
SQL注入的万能语句' or 1=1#当我们在用户名处输入' or 1=1#,密码随便写,把它带入到语句中,就变成了select * from user where uername='' or1=1#' and password='123456' 在SQL语句中#是注释符,所以后面的语句都会被注释掉select * from user where username='' or1=1 也就是说可以用 'or 1=1# 这么一个字符串就可以绕开登录的密码,直接进入程序,防止这种情况出现,可以使用以下的预处理机制!使用 PDO1、通过传递一个插入值的数组执行一条预处理语句$st = $db->prepare('select * from zz_order where id = ? and name = ?'); $st->execute([$id,$name]);// 成功时返回 true,失败时返回 false $data = $st->fetch(PDO::FETCH_ASSOC); print_r($data); 2、在 prepare 函数里面把参数用 ‘:n...
2021年08月14日
905 阅读
0 评论
2021-08-10

判断当前页面是否在微信里打开

判断当前页面是否在微信里打开
方法一:var ua = navigator.userAgent.toLowerCase(); var isWeixin = ua.indexOf('micromessenger') != -1; if (isWeixin) { return true; }else{ return false; } 方法二:function isWeixn(){ var ua = navigator.userAgent.toLowerCase(); if(ua.match(/MicroMessenger/i)=="micromessenger") { return true; } else { return false; } } 方法三:var isWeixin = (function(){return navigator.userAgent.toLowerCase().indexOf('micromessenger') !== -1})(); if(isWeixin){ return t...
2021年08月10日
969 阅读
0 评论
2021-08-05

ThinkPHP防止sql注入

ThinkPHP防止sql注入
对于WEB应用来说,SQL注入攻击无疑是首要防范的安全问题,系统底层对于数据安全方面本身进行了很多的处理和相应的防范机制,例如:$user = User::find($_GET["id"]); 即便用户输入了一些恶意的id参数,系统也会强制转换成整型,避免恶意注入。这是因为,系统会对数据进行强制的数据类型检测,并且对数据来源进行数据格式转换。而且,对于字符串类型的数据,ThinkPHP都会进行escape_string处理(real_escape_string,mysql_escape_string),还支持参数绑定。通常的安全隐患在于你的查询条件使用了字符串参数,然后其中一些变量又依赖由客户端的用户输入。要有效的防止SQL注入问题,我们建议:1.查询条件尽量使用数组方式,这是更为安全的方式;2.如果不得已必须使用字符串查询条件,使用预处理机制;3.使用自动验证和自动完成机制进行针对应用的自定义过滤;4.如果环境允许,尽量使用PDO方式,并使用参数绑定。查询条件预处理where方法使用字符串条件的时候,支持预处理(安全过滤),并支持两种方式传入预处理参数,例如...
2021年08月05日
860 阅读
0 评论