- Web开发中的“返回上一页”
Java搬砖组长
前端
在JavaWeb应用程序中(如使用Servlet、JSP、Spring等框架),实现“返回上一页”通常是在前端通过JavaScript来完成的。例如,用户点击“返回”按钮时,浏览器会返回到上一个页面。在JSP页面中,可以使用以下代码实现“返回上一页”功能:返回上一页或者通过Servlet设置“Referer”来实现返回上一页://获取上一个页面的URLStringreferer=request.g
- CSRF学习以及一些绕过referer的方法
不想当脚本小子的脚本小子
CSRF安全原理安全
跨站请求伪造,原理:——两个关键点:跨站点的请求以及请求是伪造的攻击者盗用了用户的身份,以用户的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作1.用户C打开浏览器,访问受信任网站A,输入用户名和密码请求登录网站A;2.在用户信息通过验证后,网站A产生Cookie信息并返回给浏览器,此时用户登录网站A成功,可以正常发送请求到网站A;3.用户未退出网站A之前,在
- python爬虫521
PUTAOAO
python爬虫开发语言
爬虫521记录记录最近想学爬虫,尝试爬取自己账号下的文章标题做个词云csdn有反爬机制原理我就不说啦大家都写了看到大家结果是加cookie但是我加了还是521报错尝试再加了referer就成功了(╹▽╹)importmatplotlibimportrequestsfromwordcloudimportWordCloudimportmatplotlib.pyplotaspltimportjieba#
- goaccess分析json格式日志
潇潇一夜风兼雨
nginx
一.安装使用yum安装,yuminstallgoaccess二.主要介绍格式问题1.nginx日志格式如下:log_formatmainescape=json'{"time_local":"$time_local",''"remote_addr":"$remote_addr",''"referer":"$http_referer",''"request":"$request",''"status"
- 爬虫反扒机制处理——Referer等错误码处理
MA木易YA
image.pngHTTP来源地址(referer,或HTTPreferer)是HTTP表头的一个字段,用来表示从哪儿链接到目前的网页,采用的格式是URL。换句话说,借着HTTP来源地址,目前的网页可以检查访客从哪里而来,这也常被用来对付伪造的跨网站请求。网站里面常常会用到这个属性来对爬虫进行限制,比如之前我们尝试的千图网爬虫案例中就有针对下载时的referer处理image.png当你傻愣愣的去
- 前端安全XSS,CSRF
前端-JC
前端前端安全
XSS(Cross-sitescripting)跨站脚本攻击:用户在页面渲染数据时注入可运行的恶意脚本目的是盗用cookie,获取敏感信息,得到更高权限防御方法是对输入和输出进行严格过滤CSRF(Cross-siterequestforgery)跨站请求伪造:冒充受信认用户、向服务器发送非本意/非预期的请求认防御措施有cookit设置SameSite属性、验证请求请求头中Referer来源、表单请
- 入门requents请求库使用
~X&K~
数据库pip
headers={}:user-agent:用户标识;referer:请求来源;content-type:请求参数类型。requests是Python中一个非常流行的HTTP库,用于发送各种HTTP请求。以下是使用requests库的一些基本步骤:1.安装requests:第三方需要安装的请求库,“pipinstallrequests”。首先,确保已经安装了requests库。如果还没有安装,可以
- Python爬虫打印状态码为521,返回数据为乱码?
马龙强_
python前端javascript
爬虫代码:importrequestsheaders={'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/107.0.0.0Safari/537.36','Referer':'https://www1.rmfysszc.gov.cn/projects.shtml?d
- Python爬虫
LzYuY
Pythonpython爬虫开发语言大数据
目录1.网络爬虫2.爬虫的分类①通用爬虫②聚焦爬虫③增量式爬虫3.反爬机制&反反爬策略4.HTML网页(详细复习前面web知识)5.网络请求6.请求头常见参数①User-Agent②Referer③Cookie7.常见响应状态码8.URL(host、port、path...)9.网页分类①表层网页②深层网页1.网络爬虫网络爬虫是一种按照一定的规则,自动抓取万维网信息的程序或者脚本。网页一般由htm
- HTTP 头部- Origin Referer
青衫客36
Webhttp网络协议网络
Origin&RefererOriginHeader示例Origin请求头部是一个HTTP头部,它提供了发起请求的网页的源(协议、域名和端口)信息。它通常在进行跨域资源共享(CORS)请求时使用,以便服务器可以决定是否接受请求。假设我们在浏览器的地址栏输入并访问http://www.example.com,这个网站上有一个AJAX请求,该请求需要从https://api.example.com/d
- SQL-Labs靶场“15-20”关通关教程
君衍.⠀
SQL-Labs网络安全渗透测试sql数据库pythonjavalinux网络安全渗透测试
君衍.一、十六关基于POST双引号布尔型时间盲注1、源码分析2、布尔盲注(手动)2、布尔盲注(脚本)3、时间盲注(sqlmap)二、十七关基于POST错误的更新1、源码分析2、报错注入三、十八关基于POST的Uagent字段注入1、源码分析2、floor报错注入3、updatexml报错注入四、十九关基于POST的Referer字段注入1、源码分析2、floor报错注入3、updatexml报错注
- HGAME 2024 WEEK 1 :web ezHTTP
bK_Rose
网络网络安全
题目:看到这个就知道是文件头伪造第一想法就是Referer伪造所以伪造Referer:vidar.club然后构造伪造的Referer然后提示通过那些东西访问页面,User-Agent:是构造你浏览器访问信息的,所以复制右边那一串替代就好了然后要求我们从本地访问,那就是伪造ip一般想到两个方法:X-Forwarded-For:127.0.0.1Client-ip:127.0.0.1但是本题这里构造
- hgame2024,week1
yzzob
前端javascripthtml
webezhttp1.请从vidar.club访问这个页面>>Referer:vidar.club2.请通过Mozilla/5.0(Vidar;VidarOSx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/121.0.0.0Safari/537.36Edg/121.0.0.0访问此页面>>User-Agent:Mozilla/5.0(Vidar;V
- 网络原理(HTTP篇)
Prectie.RTE
网络http网络协议
网络原理HTTP前言HTTPHTTP的工作流程抓包工具抓取HTTP报文HTTP报文格式请求报文具体细节首行URLURL的基本格式URLencode方法报头(header)HostContent-Length和Content-TypeUser-Agent(UA)RefererCookie(重要)前言如图:HTTP/3.0之前是基于TCP实现的。到了HTTP3.0版本,则是基于UDP实现的HTTPHT
- Hive Serde 序列化与反序列化
星瀚光晨
Hive系列hive
HiveSerde序列化与反序列化hiveSerde官方文档RegEx基于正则的匹配CREATETABLEapachelog(hostSTRING,identitySTRING,userSTRING,timeSTRING,requestSTRING,statusSTRING,sizeSTRING,refererSTRING,agentSTRING)ROWFORMATSERDE'org.apache
- Android WebView 无法调用微信客户端支付
ControlTower
https://www.jianshu.com/p/acb548cdd268AndroidWebView调起H5支付,提示商家参数格式有误网上都说手动的在AndroidWebView中添加头referer,而这个referer都说是微信商户平台后台配制的值需要到微信后台去看。。。。whatF..我一个广告的链接我找谁去要这个玩意呢,而且明确的可以不获取这个东西俩解决这个问题。后来才发现在WebVi
- XSS 攻击和 CSRF 攻击的常见防御措施
Cheava
防御XSS攻击HttpOnly防止劫取Cookie用户的输入检查服务端的输出检查防御CSRF攻击验证码RefererCheckToken验证转自浅说XSS和CSRF
- 使用MITM进行HTTP流量检测
tomo_wang
http网络协议网络网络爬虫密码学
前言网络爬虫是一个比较综合的技术,需要对前后端、网络协议等有比较多的了解,而且需要一些探索精神。本人在早年工作期间主攻服务端,后来接触了前端开发。换工作进入互联网公司,开始接触爬虫。爬虫发展与反爬技术是互相螺旋升级的,早先服务端渲染,然后前端渲染+REST接口,大部分情况下通过观察网络访问记录能够很方便地进行数据观测。后来出现各种验证方式,包括Referer判定,IP地址拦截,UA判定等,还多比较
- http头的sql注入
m0_65106897
笔记
1.HTTP头中的注入介绍在安全意识越来越重视的情况下,很多网站都在防止漏洞的发生。例如SQL注入中,用户提交的参数都会被代码中的某些措施进行过滤。过滤掉用户直接提交的参数,但是对于HTTP头中提交的内容很有可能就没有进行过滤。例如HTTP头中的User-Agent、Referer、Cookies等。2.HTTPUser-Agent注入就拿Sqli-Lab-Less18这里的User-Agent是
- SQL 注入 - http头注入之UA头注入探测
狗蛋的博客之旅
Web安全渗透sqlhttp数据库
环境准备:构建完善的安全渗透测试环境:推荐工具、资源和下载链接_渗透测试靶机下载-CSDN博客一、http头注入介绍HTTP头注入是一种网络安全攻击手段,它利用了Web应用程序对HTTP头的处理不当或缺乏充分的验证和过滤。在这种攻击中,攻击者通过修改HTTP请求头中的某些字段,如User-Agent、Referer、Cookies等,插入恶意内容或代码,以达到攻击的目的。这类攻击可能导致多种安全问
- DVWA-old (老版本)csrf
玖龍的意志
csrf笔记
csrflowmediumlow打开burp抓包,发现是get请求,尝试在burp中修改密码,发下可以直接修改成功根据url地址栏中的信息构造链接,将此链接放在.html为后缀的文件并将此文件放在本地www目录下,在保持登陆状态点击此链接就可以完成修改此时已经完成了修改medium本关有一个Referer字段,后面跟的请求来源的地址。当我们正常修改密码中请求包的Referer字段与我们修改请求包中
- Python学习-scrapy7
ericblue
继续学习案例文章Scrapy研究探索(六)——自动爬取网页之II(CrawlSpider)按文中方式同步上篇已实现成功的代码之后发现一直出现AttributeError:'str'objecthasnoattribute'iter'错误,如下所示:[scrapy.core.scraper]ERROR:Spidererrorprocessing(referer:None)Traceback(most
- CTF之web安全
不胜舟-
xssmysqlgitphp安全
web安全CSRF简介CSRF,全名CrossSiteRequestForgery,跨站请求伪造。很容易将它与XSS混淆,对于CSRF,其两个关键点是跨站点的请求与请求的伪造,由于目标站无token或referer防御,导致用户的敏感操作的每一个参数都可以被攻击者获知,攻击者即可以伪造一个完全一样的请求以用户的身份达到恶意目的。CSRF类型按请求类型,可分为GET型和POST型。按攻击方式,可分为
- CSRF:跨站请求伪造攻击
未知百分百
安全csrf前端网络安全web安全dvwa安全php
目录什么是CSRF?DVWA中的CSRFlowmediumhightimpossible防御CSRF1、验证码2、referer校验3、cookie的Samesite属性4、Anti-CSRF-Token什么是CSRF?CSRF全称为跨站请求伪造(Cross-siterequestforgery),它是一种常见的Web攻击,下面我就来给大家通过学习+复习的方式介绍一下CSRF漏洞,并且会演示一下攻
- 2019 强网杯 http1刷题记录及总结
NSQAQ
HTTPReferer是Header的一部分,当浏览器发送请求的时候带上Referer,告诉服务器该网页是从哪个页面链接过来的。UserAgent,简称UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。X-Forwarded-For伪造ip:127.0.01或者localhost
- HttpClient
哔卟哔卟_: )
Otherhttphttpsjava
HttpClientHttpClient简介官网使用场景使用JDK原生API发送Http请求Get无参请求headerUser-AgentReferer完整代码Get有参请求完整代码获取响应头及ContentType完整代码保存网络图片到本地完整代码设置访问代理完整代码连接超时&读取超时连接超时读取超时完整代码mimetypePost请求-表单类型完整代码Post请求-Json类型完整代码Post
- CSRF漏洞学习
yytester
CSRF漏洞原理web应用程序在用户进行敏感操作时,如修改账号密码,添加账号,转账等,没有校验表单token或者http请求头中的referer值,从而导致恶意攻击者利用被攻击者的身份完成对应的而已请求.CSRF练习打开dvwa测试系统,登录.打开抓包工具,进入CSRF练习页面,修改密码,提交修改抓取的报文,删除referer字段,重新提交.修改密码成功,说明存在CSRF漏洞.构造攻击页面,代码:
- 40、WEB攻防——通用漏洞&CSRF&SSRF&代码审计&同源策略&加载函数
PT_silver
小迪安全前端csrf
文章目录CSRFSSRF审计思路CSRF如何对CSRF进行测试?尝试添加管理员为例抓取添加管理员的用户名和密码的数据包,形成html文件,并放到公网服务器上。登录后台的状态下访问刚刚那个文件,CSRF攻击完成。CSRF绕过:针对来源检测,可以:(1)伪造referer,需要在html代码数据包文件中固定http-referer;(2)尝试在网站任何可上传地方,上传数据包文件,取得当前同域名访问地址
- Echarts颜色设置,好看的小清新配色
milkign
echarts前端javascript
只需要在option中加入color属性:color:['#75bedc','#ef6567','#91cd77','#f9c956','#5470c6'],对于饼图配置完整代码:option={title:{text:'RefererofaWebsite',subtext:'FakeData',left:'center'},//这里配置颜色color:['#75bedc','#ef6567','
- 安全 输入输出类 XSS CSRF
m0_71819030
安全xsscsrf
输入输出类(留言板)执行JS语句(XSS漏洞)XSS漏洞(有输入框就可能-见框就X)反射型语句植入并执行存储型语句植入到数据库,调用数据库就执行UA头判断访问者浏览器信息可以XSSphp$_SERVERX_Forword_For获得IP等信息Referer页面来源伪造跳转页面来源CSRF跨站点请求伪造php中
- java线程Thread和Runnable区别和联系
zx_code
javajvmthread多线程Runnable
我们都晓得java实现线程2种方式,一个是继承Thread,另一个是实现Runnable。
模拟窗口买票,第一例子继承thread,代码如下
package thread;
public class ThreadTest {
public static void main(String[] args) {
Thread1 t1 = new Thread1(
- 【转】JSON与XML的区别比较
丁_新
jsonxml
1.定义介绍
(1).XML定义
扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 XML使用DTD(document type definition)文档类型定义来组织数据;格式统一,跨平台和语言,早已成为业界公认的标准。
XML是标
- c++ 实现五种基础的排序算法
CrazyMizzz
C++c算法
#include<iostream>
using namespace std;
//辅助函数,交换两数之值
template<class T>
void mySwap(T &x, T &y){
T temp = x;
x = y;
y = temp;
}
const int size = 10;
//一、用直接插入排
- 我的软件
麦田的设计者
我的软件音乐类娱乐放松
这是我写的一款app软件,耗时三个月,是一个根据央视节目开门大吉改变的,提供音调,猜歌曲名。1、手机拥有者在android手机市场下载本APP,同意权限,安装到手机上。2、游客初次进入时会有引导页面提醒用户注册。(同时软件自动播放背景音乐)。3、用户登录到主页后,会有五个模块。a、点击不胫而走,用户得到开门大吉首页部分新闻,点击进入有新闻详情。b、
- linux awk命令详解
被触发
linux awk
awk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息
awk处理过程: 依次对每一行进行处理,然后输出
awk命令形式:
awk [-F|-f|-v] ‘BEGIN{} //{command1; command2} END{}’ file
[-F|-f|-v]大参数,-F指定分隔符,-f调用脚本,-v定义变量 var=val
- 各种语言比较
_wy_
编程语言
Java Ruby PHP 擅长领域
- oracle 中数据类型为clob的编辑
知了ing
oracle clob
public void updateKpiStatus(String kpiStatus,String taskId){
Connection dbc=null;
Statement stmt=null;
PreparedStatement ps=null;
try {
dbc = new DBConn().getNewConnection();
//stmt = db
- 分布式服务框架 Zookeeper -- 管理分布式环境中的数据
矮蛋蛋
zookeeper
原文地址:
http://www.ibm.com/developerworks/cn/opensource/os-cn-zookeeper/
安装和配置详解
本文介绍的 Zookeeper 是以 3.2.2 这个稳定版本为基础,最新的版本可以通过官网 http://hadoop.apache.org/zookeeper/来获取,Zookeeper 的安装非常简单,下面将从单机模式和集群模式两
- tomcat数据源
alafqq
tomcat
数据库
JNDI(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API。
没有使用JNDI时我用要这样连接数据库:
03. Class.forName("com.mysql.jdbc.Driver");
04. conn
- 遍历的方法
百合不是茶
遍历
遍历
在java的泛
- linux查看硬件信息的命令
bijian1013
linux
linux查看硬件信息的命令
一.查看CPU:
cat /proc/cpuinfo
二.查看内存:
free
三.查看硬盘:
df
linux下查看硬件信息
1、lspci 列出所有PCI 设备;
lspci - list all PCI devices:列出机器中的PCI设备(声卡、显卡、Modem、网卡、USB、主板集成设备也能
- java常见的ClassNotFoundException
bijian1013
java
1.java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory 添加包common-logging.jar2.java.lang.ClassNotFoundException: javax.transaction.Synchronization
- 【Gson五】日期对象的序列化和反序列化
bit1129
反序列化
对日期类型的数据进行序列化和反序列化时,需要考虑如下问题:
1. 序列化时,Date对象序列化的字符串日期格式如何
2. 反序列化时,把日期字符串序列化为Date对象,也需要考虑日期格式问题
3. Date A -> str -> Date B,A和B对象是否equals
默认序列化和反序列化
import com
- 【Spark八十六】Spark Streaming之DStream vs. InputDStream
bit1129
Stream
1. DStream的类说明文档:
/**
* A Discretized Stream (DStream), the basic abstraction in Spark Streaming, is a continuous
* sequence of RDDs (of the same type) representing a continuous st
- 通过nginx获取header信息
ronin47
nginx header
1. 提取整个的Cookies内容到一个变量,然后可以在需要时引用,比如记录到日志里面,
if ( $http_cookie ~* "(.*)$") {
set $all_cookie $1;
}
变量$all_cookie就获得了cookie的值,可以用于运算了
- java-65.输入数字n,按顺序输出从1最大的n位10进制数。比如输入3,则输出1、2、3一直到最大的3位数即999
bylijinnan
java
参考了网上的http://blog.csdn.net/peasking_dd/article/details/6342984
写了个java版的:
public class Print_1_To_NDigit {
/**
* Q65.输入数字n,按顺序输出从1最大的n位10进制数。比如输入3,则输出1、2、3一直到最大的3位数即999
* 1.使用字符串
- Netty源码学习-ReplayingDecoder
bylijinnan
javanetty
ReplayingDecoder是FrameDecoder的子类,不熟悉FrameDecoder的,可以先看看
http://bylijinnan.iteye.com/blog/1982618
API说,ReplayingDecoder简化了操作,比如:
FrameDecoder在decode时,需要判断数据是否接收完全:
public class IntegerH
- js特殊字符过滤
cngolon
js特殊字符js特殊字符过滤
1.js中用正则表达式 过滤特殊字符, 校验所有输入域是否含有特殊符号function stripscript(s) { var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?]"
- hibernate使用sql查询
ctrain
Hibernate
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.hibernate.Hibernate;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.hibernate.Transa
- linux shell脚本中切换用户执行命令方法
daizj
linuxshell命令切换用户
经常在写shell脚本时,会碰到要以另外一个用户来执行相关命令,其方法简单记下:
1、执行单个命令:su - user -c "command"
如:下面命令是以test用户在/data目录下创建test123目录
[root@slave19 /data]# su - test -c "mkdir /data/test123" 
- 好的代码里只要一个 return 语句
dcj3sjt126com
return
别再这样写了:public boolean foo() { if (true) { return true; } else { return false;
- Android动画效果学习
dcj3sjt126com
android
1、透明动画效果
方法一:代码实现
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
View rootView = inflater.inflate(R.layout.fragment_main, container, fals
- linux复习笔记之bash shell (4)管道命令
eksliang
linux管道命令汇总linux管道命令linux常用管道命令
转载请出自出处:
http://eksliang.iteye.com/blog/2105461
bash命令执行的完毕以后,通常这个命令都会有返回结果,怎么对这个返回的结果做一些操作呢?那就得用管道命令‘|’。
上面那段话,简单说了下管道命令的作用,那什么事管道命令呢?
答:非常的经典的一句话,记住了,何为管
- Android系统中自定义按键的短按、双击、长按事件
gqdy365
android
在项目中碰到这样的问题:
由于系统中的按键在底层做了重新定义或者新增了按键,此时需要在APP层对按键事件(keyevent)做分解处理,模拟Android系统做法,把keyevent分解成:
1、单击事件:就是普通key的单击;
2、双击事件:500ms内同一按键单击两次;
3、长按事件:同一按键长按超过1000ms(系统中长按事件为500ms);
4、组合按键:两个以上按键同时按住;
- asp.net获取站点根目录下子目录的名称
hvt
.netC#asp.nethovertreeWeb Forms
使用Visual Studio建立一个.aspx文件(Web Forms),例如hovertree.aspx,在页面上加入一个ListBox代码如下:
<asp:ListBox runat="server" ID="lbKeleyiFolder" />
那么在页面上显示根目录子文件夹的代码如下:
string[] m_sub
- Eclipse程序员要掌握的常用快捷键
justjavac
javaeclipse快捷键ide
判断一个人的编程水平,就看他用键盘多,还是鼠标多。用键盘一是为了输入代码(当然了,也包括注释),再有就是熟练使用快捷键。 曾有人在豆瓣评
《卓有成效的程序员》:“人有多大懒,才有多大闲”。之前我整理了一个
程序员图书列表,目的也就是通过读书,让程序员变懒。 写道 程序员作为特殊的群体,有的人可以这么懒,懒到事情都交给机器去做,而有的人又可
- c++编程随记
lx.asymmetric
C++笔记
为了字体更好看,改变了格式……
&&运算符:
#include<iostream>
using namespace std;
int main(){
int a=-1,b=4,k;
k=(++a<0)&&!(b--
- linux标准IO缓冲机制研究
音频数据
linux
一、什么是缓存I/O(Buffered I/O)缓存I/O又被称作标准I/O,大多数文件系统默认I/O操作都是缓存I/O。在Linux的缓存I/O机制中,操作系统会将I/O的数据缓存在文件系统的页缓存(page cache)中,也就是说,数据会先被拷贝到操作系统内核的缓冲区中,然后才会从操作系统内核的缓冲区拷贝到应用程序的地址空间。1.缓存I/O有以下优点:A.缓存I/O使用了操作系统内核缓冲区,
- 随想 生活
暗黑小菠萝
生活
其实账户之前就申请了,但是决定要自己更新一些东西看也是最近。从毕业到现在已经一年了。没有进步是假的,但是有多大的进步可能只有我自己知道。
毕业的时候班里12个女生,真正最后做到软件开发的只要两个包括我,PS:我不是说测试不好。当时因为考研完全放弃找工作,考研失败,我想这只是我的借口。那个时候才想到为什么大学的时候不能好好的学习技术,增强自己的实战能力,以至于后来找工作比较费劲。我
- 我认为POJO是一个错误的概念
windshome
javaPOJO编程J2EE设计
这篇内容其实没有经过太多的深思熟虑,只是个人一时的感觉。从个人风格上来讲,我倾向简单质朴的设计开发理念;从方法论上,我更加倾向自顶向下的设计;从做事情的目标上来看,我追求质量优先,更愿意使用较为保守和稳妥的理念和方法。
&