html标签
(1)detail标签
**<details>
**标签用来折叠内容,浏览器会折叠显示该标签的内容。
<1> 含义:
html
<details>
这是一段解释文本。
</details>
用户点击这段文本,折叠的文本就会展开,显示详细内容。
html
▼ 详细信息
这是一段解释文本。
<2> 例:
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<!-- on:js事件 -->
<details ontoggle="alert(1)">
<!-- 标签进行切换时,会出发某个函数 -->
这是一个details标签
</details>
<p>hello</p>
<!-- 等同于html的实体编码 -->
<p>hello</p>
<!-- <和> === <> html将<>的编码解析,在页面展现。因为<>被html编码,所以无法执行-->
<script> alert(1); </script>
</body>
</html>

(2)iframe标签
**<iframe>
**标签用于在网页里面嵌入其他网页。
<1> 基本用法
<iframe>
标签生成一个指定区域,在该区域中嵌入其他网页。它是一个容器元素,如果浏览器不支持<iframe>
****,就会显示内部的子元素。
例:iframe嵌入bilibili
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>iframe</title>
</head>
<body>
<iframe src="http://www.bilibili.com" width="500" height="500" frameborder="0" allowfullscreen sandbox>
<!-- 功能:将其他网页嵌入到本网页 -->
<!-- sandbox:沙箱模式。 -->
<p><a href="http://www.bilibili.com">点击打开嵌入页面</a></p>
</iframe>
</body>
</html>

<2> sandbox属性
允许设置嵌入的网页的权限,等同于提供了一个隔离层,即"沙箱"。
【1】使用方法
1\] 可当布尔类型使用,打开所有限制 ```html ``` \[2\] 设置具体值,表示打开某项限制,未设置表示无此权限 > **原则:最小权限原则**  #### 【2】例 ```html
hello
十进制hello
ord('h') -> 114(在ascii表中,h对应104这个数字) 十六进制hello
hex(104) -> 68(x代表16进制,16进制下,104 == x68) ``` ### \<2\> 常用特殊字符 * **\<**:\< * **\>**:\> * **空格**:\ ## **(5)urlcode编码** ### \<1\> URL > **URL 是"统一资源定位符"(Uniform Resource Locator),表示各种资源的互联网地址。** **出现位置**:url地址栏 URL 字符转义的方法是,字符的十六进制**ASCII** 码前面加上百分号**(`%`)** #### 【1】 网址的组成部分 ```html https://www.example.com/path/index.html ``` > **协议**:常用(http、https)。ftp、telnet > > **对应端口:** > > http -- 80 > > https -- 443 > > ftp -- 20 21 > > telnet -- 23 > > ssh -- 22 > > DNS -- 53 > > dhcp -- 67 68 > > smtp -- 25(邮件协议) > > pop3 -- 110(邮件协议) > > ladp -- 389(域控制器) > > mysql -- 3306 > > sqlserver -- 1433(C#语言用得多) > > oracle -- 1521 > > windows远程连接端口 -- 3389 > > redis(nosql数据库) -- 6379 #### 【2】状态码 * request是代表Http请求信息的对象 * response对象是代表Http响应信息的对象(返回含有状态码) ```html 2开头:访问成功 200 OK:请求成功,服务器正常响应。 3开头:重定向(较多用于登录) 300 Multiple Choices:客户端请求的资源有多个可供选择,需要进一步确定。 301 Moved Permanently:被请求的资源已永久移动到新的URL,客户端应该使用新的URL发起请求。(永久转移) 302 Found:被请求的资源已暂时移动到新的URL,客户端应该继续使用原始URL。(临时转移) 303 See Other:客户端应该使用另一个URL来获取资源。 304 Not Modified:客户端的缓存资源仍然有效,可以直接使用缓存的副本。 307 Temporary Redirect:请求的资源暂时移动到其他URL,客户端应该继续使用原始URL。(与302基本一致) 308 Permanent Redirect:请求的资源永久移动到其他URL,客户端应该使用新URL。 4开头: 400 Bad Request:请求错误,服务器无法理解或处理请求。 401 Unauthorized:未授权,需要进行身份验证或登录。 403 Forbidden:禁止访问,服务器拒绝请求。 404 Not Found:资源未找到,服务器无法找到请求的资源。 5开头: 500 Internal Server Error:服务器内部错误,无法完成请求。 ``` ### \<2\> 编码表示(英文字母不解析) * `!`:%21 * `#`:%23(相当于注释) * `$`:%24 * `&`:%26 * `'`:%27 * `(`:%28 * `)`:%29 * `*`:%2A * `+`:%2B * `,`:%2C * `/`:%2F * `:`:%3A * `;`:%3B * `=`:%3D * `?`:%3F * `@`:%40 * `[`:%5B * `]`:%5D * 空格:%20 **例:** **在url地址栏输入?id=1' order by 3 --+**  url地址栏会将其解析为:?id=1%27%20order%20by%203%20--+  *** ** * ** *** ## **附:** * ord() --- unicode编码 * hex() --- 16进制 * oct() --- 8进制 * int() --- 10进制 * bin() --- 二进制 *** ** * ** *** # img标签实现绕过 **基本用法** **`