判断是否是微信浏览器内部(H5页面)
var ua = window.navigator.userAgent.toLowerCase(); if (ua.match(/MicroMessenger/i) == 'micromessenger') { console.log('是微信浏览器') WeixinJSBridge.call('closeWindow') } else { con…
键入URL访问的大致流程
1.解析URL各部位信息,确定请求路径 -------------------------------------------------------------- 2.生成HTTP消息,找DNS(只指路不带路,了解DNS的请求过程:先缓存,再请求)要IP ----------------------------------------------…
TCP/IP网络模型
应用层 处于网络模型的最上层,通常的开发层面,也是最开始接触的地方。 ========================================== 传输层 TCP相对UDP,传输可靠性高,大部分应用使用的正是 TCP 传输层协议,比如 HTTP 应用层协议。 UDP相对负责的简单,只负责传送数据包,不保证能够送到对方。如果要实现可靠的UDP…
Laravel Excel(maatwebsite/excel)导出xlsx表格===Laravel8版本
话不多说,坑事真多,泪也是真多~其实这个架子也是对PhpSpreadsheet的封装,所以就需要这个扩展 我用的是laravel8,插件是用的3.1版本,好像是最新的~ 安装需要这些个扩展 首先的配置: [cc lang='php'] composer require maatwebsite/excel [/cc] 在config/app.php里…
js中var,const,let的用法区别
1.const定义的变量不可以修改,并且必须要初始化 [cc lang='php'] [/cc] 以上写法是不正确的,没有初始化, [cc lang='php'] [/cc] 以上写法会输出值1, [cc lang='php'] [/cc] 以上会出现错误,如图: 2.var定义的变量可以修改,如果不初始化会输出undefined,不会报错, [c…
php面试题(一)
1. 用PHP写出显示客户端IP与服务器IP的代码 [cc lang='php'] $_SERVER['REMOTE_ADDR']客户端IP function getOnlineIP(){ if (getenv('HTTP_CLIENT_IP')) return getenv('HTTP_CLIENT_IP'); if (getenv('HTTP_…
mysql索引分类
在数据库表中,对字段建立索引可以大大提高查询速度。通过善用这些索引,可以令 MySQL的查询和运行更加高效。索引是快速搜索的关键。MySQL索引的建立对于MySQL的高效运行是很重要的。下面介绍几种常见的MySQL索引类型。 1、普通型索引 这是最基本的索引类型,而且它没有唯一性之类的限制。普通索引可以通过以下几种方式创建: (1)创建索引,例如C…
CSRF、XSS攻击的原理及防范
XSS跨站脚本: XSS其实就是html的注入问题,后台程序并没有对攻击者的输入做严格的控制,使得攻击者最终控制了数据库,并且显示给来访的用户,导致可以让访客的浏览器以浏览者的身份执行这些html代码,数据的流程如下: 攻击者的Html输入—>web程序—>进入数据库—>web程序—>用户浏览器。 攻击者的手段和目的: 主要是以别人的身份访问一些特…