王新阳

wangxinyang

apifox.com之通过JSON Schema设置数组类型的复杂form_data参数

{
    "type": "array",
    "items": {
        "type": "object",
        "properties": {
            "goods_type": {
                "type": "string",
                "title": "材料类型",
                "enum": [
                    "material",
                    "semifinished"
                ],
                "x-apifox": {
                    "enumDescriptions": {
                        "material": "原料",
                        "semifinished": "原料型产品"
                    }
                }
            },
            "goods_classid": {
                "type": "integer",
                "title": "材料类别id"
            },
            "goods_name": {
                "type": "string",
                "title": "材料名称",
                "description": "仅原料型产品有"
            },
            "goods_weight": {
                "type": "number",
                "title": "材料重量",
                "description": "最多三位小数,单位:t"
            }
        },
        "required": [
            "goods_type",
            "goods_classid",
            "goods_weight"
        ],
        "x-apifox-orders": [
            "goods_type",
            "goods_classid",
            "goods_name",
            "goods_weight"
        ]
    }
}

用jQuery对html转义字符进行反转义

$('<div></div>').html(转义后的html).text();

HTML中的Meta标签详解

来源:https://zhuanlan.zhihu.com/p/56233041

emta标签的组成:
meta标签分两大部分:HTTP-EQUIV和NAME变量。


HTTP-EQUIV:

HTTP-EQUIV类似于HTTP的头部协议,它回应给浏览器一些有用的信息,以帮助正确和精确地显示网页内容。
常用的HTTP-EQUIV类型有:
1.expires(期限):
说明:可以用于设定网页的到期时间。一旦网页过期,必须到服务器上重新调阅。
用法:<META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT">
注意:必须使用GMT的时间格式。
2.Pragma(cach模式):
说明:禁止浏览器从本地机的缓存中调阅页面内容。
用法:<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
注意:这样设定,访问者将无法脱机浏览。
3.Refresh(刷新):
说明:需要定时让网页自动链接到其它网页的话,就用这句了。
用法:<META HTTP-EQUIV="Refresh" CONTENT="5;URL=http://www.yahoo.com">
注意:其中的5是指停留5秒钟后自动刷新到URL网址。
4.Set-Cookie(cookie设定):
说明:如果网页过期,那么存盘的cookie将被删除。
用法:<META HTTP-EQUIV="Set-Cookie" CONTENT="cookievalue=xxx;
expires=Wednesday, 21-Oct-98 16:14:21 GMT; path=/">
注意:必须使用GMT的时间格式。
5.Window-target(显示窗口的设定):
说明:强制页面在当前窗口以独立页面显示。
用法:<META HTTP-EQUIV="Window-target" CONTENT="_top">
注意:用来防止别人在框架里调用你的页面。
6.Content-Type(显示字符集的设定):
说明:设定页面使用的字符集。(我们在前面字体设计中已经介绍过它的作用)
用法:<meta http-equiv="Content-Type" content="text/html; charset=gb2312">


NAME变量:
meat标签的NAME变量语法格式是:
<META NAME="xxx" CONTENT="xxxxxxxxxxxxxxxxxx">
其中xxx主要有下面几种参数:
1.Keywords(关键字):
说明:keywords用来告诉搜索引擎你网页的关键字是什么。
举例:<META NAME ="keywords" CONTENT="life, universe, mankind, plants,
relationships, the meaning of life, science">
2.description(简介):
说明:description用来告诉搜索引擎你的网站主要内容。
举例:<META NAME="description" CONTENT="This page is about the meaning of
life, the universe, mankind and plants.">
3.robots(机器人向导):
说明:robots用来告诉搜索机器人哪些页面需要索引,哪些页面不需要索引。
CONTENT的参数有all,none,index,noindex,follow,nofollow。默认是all。
举例:<META NAME="robots" CONTENT="none">
4.author(作者):
说明:标注网页的作者
举例:<META name="AUTHOR" content="ajie,ajie@netease.com">

html标签meta 隐藏来源禁用Referrer的方法

<meta name="referrer" content="no-referrer">

eferrer 的值

  • 空字符串
  • no-referrer
  • no-referrer-when-downgrade
  • same-origin
  • origin
  • strict-origin
  • origin-when-cross-origin
  • strict-origin-when-cross-origin
  • unsafe-url

默认值: 一般浏览器的默认值是 no-referrer-when-downgrade
no-referrer: 所有请求不发送 referrer
no-referrer-when-downgrade: 当请求安全级别下降时不发送 referrer。目前,只有一种情况会发生安全级别下降,即从 HTTPS 到 HTTP。HTTPS 到 HTTP 的资源引用和链接跳转都不会发送 referrer。
same-origin:对于同源的链接和引用,会发送referrer,其他的不会。
origin:会发送 referrer,但只会发送源信息。源信息包括访问协议和域名。
strict-origin:这个相当于 origin 和 no-referrer-when-downgrade 的 AND 合体。即在安全级别下降时不发送 referrer;安全级别未下降时发送源信息。
注意:这个是新加的标准,有些浏览器可能还不支持。
origin-when-cross-origin:这个相当于 origin 和 same-origin 的 OR 合体。同源的链接和引用,会发送完全的 referrer 信息;但非同源链接和引用时,只发送源信息。
strict-origin-when-cross-origin:这个比较复杂,同源的链接和引用,会发送 referrer。安全级别下降时不发送 referrer。其它情况下发送源信息。注意:这个是新加的标准,有些浏览器可能还不支持。
unsafe-url:无论是否发生协议降级,无论是本站链接还是站外链接,统统都发送 Referrer 信息。正如其名,这是最宽松而最不安全的策略。

<meta name="referrer" content="never">

注意:此方法会破坏浏览器原有的 referer 策略,所有从包含了上面标签的页面中发起的请求将不会携带referer。慎用!

参数

referer 的 metedata 属性可设置content属性值为以下集合:

  • never
  • always
  • origin

结果
如果referer-policy的值为never:删除http head中的referer;
如果referer-policy的值为default:如果当前页面使用的是https协议,而正要加载资源使用的是普通的http协议,则将http header中额referer置为空;
如果referer-policy的值origin:只发送origin部分;
如果referer-policy的值为always:不改变http header中的referer的值;

举例
如果页面中包含了如下 meta 标签,所有从当前页面中发起的请求将不会携带 referer:<meta name="referrer" content="never">

如果页面中包含了如下 meta 标签,则从当前页面中发起的 http请求将只携带 origin 部分:<meta name="referrer" content="origin">

原文链接:https://blog.csdn.net/putongdeyang/article/details/123404044

特殊字符\u202E与\u202D

1. \u202E 的作用是使得后续字符串从右至左读(RLO,即RIGHT-TO-LEFT OVERRIDE),如 123\u202EABC 输出后为 123CBA
2. \u202D 的作用是使得后续字符串从左至右左读(LRO,即LEFT-TO-RIGHT OVERRIDE),,如 123\u202DABC 输出后为 123ABC

8237  202D  LEFT-TO-RIGHT OVERRIDE
8238  202E  RIGHT-TO-LEFT OVERRIDE

将一个名为txt.exe 的应用程序,展现出来的名称为exe.txt. 别人会认为这是个文本文件,但点击之后却是一个应用程序。黑客常用这个技巧误导菜鸡点击恶意软件。

参考:

https://juejin.cn/post/6844903683935698952
https://blog.csdn.net/qq_45874536/article/details/120775985
https://www.cnblogs.com/stansec/p/U202E.html

设置页面不缓存的方法

转自:https://www.php.cn/php-ask-454686.html

一般我们要查看网上的一个网页,那么当您第一次访问这个网页的时候,系统首先要将这个网页下载到您的本地计算机的一个临时文件夹中进行缓存,当在一定的时间内,您第二次、第三次来访问这个网页的时候,浏览器就直接从您的本地计算机的临时文件夹中读取这个文件显示,这样做的好处就是避免每次都要重新下载而占用大量的时间和网络资源,不得不说页面的缓存加快了网页的显示,当然也有它的坏处,例如当服务器上的网页己经更新,而本地显示的还是没有更新的网页,这样就不能及时的显示更新后的内容,在某些情况下,我们需要禁止浏览器缓存,以使我们每次看到的页面都是最新的页面(例如后台操作、大型网站的实时新闻页面),这时我们就要禁用浏览器缓存,下面分别说明了在四种不同的页面环境下来禁止网页缓存:

一、对于静态页(就是通过meta标签来设置):

<!--expires用于设定网页的过期时间,一旦过期就必须从服务器上重新加载.时间必须使用GMT格式-->
<meta http-equiv="expires" content="Sunday 26 October 2008 01:00 GMT" />

或者通过pragma no-cache来设置,pragma出现在http-equiv属性中,使用content属性的no-cache值表示是否缓存网页(为了提高速度一些浏览器会缓存浏览者浏览过的页面,通过下面的定义,浏览器一般不会缓存页面,而且浏览器无法脱机浏览)。

二、对于ASP页面:

<%
Response.Buffer=true
Response.CacheControl="no-cache" '禁止代理服务器缓存本页面
Response.Expires=-1000 '让页面立即过期(这儿最好设置一个绝对值较大的负数)
%>

三、对于JSP页面:

<%
if(request.getProtocol().compareTo("HTTP/1.0")==0){
	response.setHeader("Pragma","no-cache");
}
if(request.getProtocol().compareTo("HTTP/1.1")==0){
	response.setHeader("Cache-Control","no-cache");
}
response.setDateHeader("Expires",0);
%>

四、对于PHP页面:

<?php
header('Cache-Control:no-cache,must-revalidate');
header('Pragma:no-cache');
?>

强调说明:对于动态页面,缓存的代码必须放在任何HTML标签输出之前,否则将会出错。

HTML5新增的属性和废除的属性

https://www.cnblogs.com/tianma3798/p/3660687.html

https://www.cnblogs.com/lzhat/p/4451134.html

https://blog.csdn.net/qdy5945/article/details/101975422

js分块上传、压缩图片等

了解JS压缩图片,这一篇就够了
https://wuwhs.gitee.io/2020/06/07/js-image-compressor/
https://zhuanlan.zhihu.com/p/187021794

thinkphp+H5文件分片(切块)上传
https://www.jianshu.com/p/f0d538732616

php如何获取到formData上传图片的二进制数据
https://www.php.cn/php-weizijiaocheng-335410.html

php 文件流与二进制流_PHP接收二进制流并生成文件https://blog.csdn.net/weixin_34123023/article/details/115103471

php接收二进制流(图片)生成图片文件文件
https://blog.csdn.net/lxw1844912514/article/details/103603882

利用HTML5分片上传超大文件
https://blog.csdn.net/moonpure/article/details/54861252

【php】php+js实现文件分块上传
https://www.h5w3.com/107250.html

H5大文件分片上传.rar
https://download.csdn.net/download/java431/11993532

直接剪切板粘贴上传图片的前端JS实现
https://www.zhangxinxu.com/wordpress/2018/09/ajax-upload-image-from-clipboard/

HTML5 file API加canvas实现图片前端JS压缩并上传
https://www.zhangxinxu.com/wordpress/2017/07/html5-canvas-image-compress-upload/


HTML5 文件域+FileReader 读取文件(一)
https://www.cnblogs.com/tianma3798/p/4355949.html

HTML5 文件域+FileReader 读取文件(二)
https://www.cnblogs.com/tianma3798/p/5839791.html

HTML5 文件域+FileReader 读取文件并上传到服务器(三)
https://www.cnblogs.com/tianma3798/p/5839810.html

HTML5 文件域+FileReader 分段读取文件(四)
https://www.cnblogs.com/tianma3798/p/5839869.html

HTML5 文件域+FileReader 分段读取文件(五)
https://www.cnblogs.com/tianma3798/p/5841584.html

HTML5 文件域+FileReader 分段读取文件并上传到服务器(六)
https://www.cnblogs.com/tianma3798/p/5845291.html

Web 前沿——HTML5 Form Data 对象的使用
https://www.cnblogs.com/tianma3798/p/4294391.html
https://www.cnblogs.com/tianma3798/p/4293656.html

html_html5增强的文件上传域_使用FileReader读取文件内容
https://www.cnblogs.com/isXianYue/p/13196444.html

ontenteditable 属性规定元素内容是否可编辑

ontenteditable 属性规定元素内容是否可编辑,是 HTML5 中的新属性。

示例如下:

这是一个可编辑的段落。

<p style="border:1px solid #999;" contenteditable="true" onblur="alert(this.innerText)">
	这是一个可编辑的段落。
</p>

JS设置:document.getElementById("myP").contentEditable = true;
获取状态 document.getElementById("myP").contentEditable;

layui

https://gitee.com/sentsin/layui

https://www.layui.com/

http://layuimini.99php.cn/

layui admin后台框架:

http://layuimini.99php.cn/iframe/v2/

http://layuimini.99php.cn/onepage/v2/

下载:

https://github.com/zhongshaofa/layuimini/tree/v2
https://gitee.com/zhongshaofa/layuimini/tree/v2
https://github.com/zhongshaofa/layuimini/tree/v2-onepage
https://gitee.com/zhongshaofa/layuimini/tree/v2-onepage

2024-12-04 星期三 农历冬月初四