随笔分类 - php
摘要:过滤 SQL 注入字符 /** * 过滤SQL注入高危字符(严格模式) * @param string $input 用户输入 * @return string 过滤后的安全字符串 */ function filterStr($input) { // 正则匹配高危字符(包括注释、引号、逻辑运算符等)
阅读全文
摘要:要写一个媒体文件切片上传,上传到 server 后 FTP 传输到远端 server。FTP 上传很简单,切片上传找到了 resumable.js 这个组件库。写demo记录下。 前端 <fieldset> <legend>video preview</legend> <div> <video id
阅读全文
摘要:某个页面有这样一个需求:一个固定宽度的div,若文字过长,则缩小字体填充。看到原来代码采用的是用 php 的 GD 库的 imagettfbbox 函数来计算文字的宽度。 <?php function getFontSize($text) { $base_fs = 14; $base_width =
阅读全文
摘要:有一个需求是访问存储在群辉Synology NAS上的图片,https://ip:port/path/to/image.jpg,用浏览器打开会出现“您的连接不是私密/安全连接”错误。 网上检索资料发现可能是因为缺少SSL证书的关系。 引用 https://www.cloudflare-cn.com/
阅读全文
摘要:有这个一个需求:显示在系统中的图片需要隐藏其真实的文件名和路径,其真实文件名不能被下载保存下来。其它信息:图片存储在专用的图片服务器上。 试用了几种方法,记录下。 <body oncontextmenu="javascript:return false"> <img src="./images/1.
阅读全文
摘要:之前有一个页面,因为server放在因为网络隔离而我访问不到的地方,每次更新代码都是发给别人代码包请别人更新,然后会有一个网址是可以对外的。然后使用的人总会报告各种问题,而我作为开发者访问不到server没办法检查问题点,甚至都访问不了系统日志。没办法,只能自己加了一个日志的功能,为了避免被系统禁止
阅读全文
摘要:最近要写一个审核的功能:5个层级审核,打算用一个status状态位记录每一层级审核是否通过。很少用到位操作,因此记录下。 设置当前审核阶段状态位 <?php function setStatus($status, $stage, $is_approved) { $arr_a = array_map(
阅读全文
摘要:最近遇到一个需求,异步请求对一个慢查询的结果进行缓存,先返回缓存的结果,然后继续获取数据缓存下来。写个demo记录下 使用register_shutdown_function函数 register_shutdown_function — 注册在关闭时执行的函数 register_shutdown_f
阅读全文
摘要:最近发现了个问题:某个ajax post请求查询参数数量动态变化有200-250000个,当参数超过一定数量N时(N大约1000),post传到后台接的参数就只有N个,多出的参数都没附到请求中,这也是奇怪的事情,浏览器对参数的个数有限制。 js const payload = { date: "20
阅读全文
摘要:需要写一段合并时间区间的代码,写个demo记录下 <?php $arr = [ ["2024-04-16 11:25:46", "2024-04-16 12:19:21"], ["2024-04-16 03:14:06", "2024-04-16 10:13:21"], ["2024-04-16 1
阅读全文
摘要:最近要开发给pdf文件增加水印的程序,因此研究了几个php生成pdf的类库,记录下。 首先要能够读入pdf文件,然后给pdf文件增加水印,然后能够导出。检索资料发现FPDI可以读入pdf文件。 FPDI安装 先安装下几个库,以备后面使用: { "require": { "setasign/fpdf"
阅读全文
摘要:php 中的 map、filter、reduce 函数使用< $arr = [1, 2, 3, 4, 5]; // array_map — 为数组的每个元素应用回调函数 $arr_new = array_map(function ($val) { return $val + 3; }, $arr);
阅读全文
摘要:最近遇到了34进制转化为10进制的问题,记录下。 将34进制的字符串'H2V'转换成为10进制数,进而转换为日期。 百度了下34进制的资料,记录如下: 34进制指以0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F、G、H、J、K、L、M、N、P、Q、R、S、T、U、V、W、X、Y、Z为
阅读全文
摘要:这次是被坑了,在 linux apache 运行完好的代码放到 IIS 服务器上居然没有数据,检查发现居然出现了 419 错误,要求 ajax post 请求中应该包含 csrf token 字段。 检查发现:在 laravel 中间件 app/Http/Middleware/VerifyCsrfT
阅读全文
摘要:最近在优化一个页面:ajax请求异步数据,特定情况下,json数据达到100MB左右,仅数据传输时间就需要10-20s左右,简直太慢了。 检索资料看怎么压缩json数据 模拟数据: <?php ini_set('memory_limit', -1); function getTestJson() {
阅读全文
摘要:最近在项目中看到了一段别人写的获取真实IP的代码,特意把这部分的知识记录下,部分内容来源于网络检索,若有侵权请联系我删除。 因为存在IP欺骗和代理问题,所以获取客户端的IP的真实性不能百分百准确。 1、没有使用代理的情况 REMOTE_ADDR = 客户端IP HTTP_X_FORWARDED_FO
阅读全文
摘要:脚本最大执行时间、内存限制 ini_set("memory_limit","128M"); // 关闭内存限制 ini_set('memory_limit', '-1'); ini_set('max_execution_time', 30000); // 关闭时间限制 ini_set("max_ex
阅读全文
摘要:偶然听到一个需求,一个web应用需要部署到不同的两个网段中,连接同一台数据库server(双网卡,可以同时连接不同的两个网段),如何实现部署到不同网段中不用修改数据库连接?假设连个网段的web server同时包含linux和windows系统 简单的想法:测试网络连接,如果连不上一个ip就去连接另
阅读全文
摘要:常常踩一些坑,总结下 浮点数和数值型 var_dump(floatval(''), floatval(' ')); // 0 0 var_dump(floatval('1.01'), floatval('1')); //1.01 1 var_dump(floatval(1.01), floatval
阅读全文
摘要:记录下常用的 laravel 数据库操作 指定数据库连接 DB::connection('foo')->select(...); 底层 PDO 实例 $pdo = DB::connection()->getPdo(); 执行原生SQL $users = DB::select('select * fr
阅读全文
浙公网安备 33010602011771号