为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。
在实际开发中最为常见的设计范式有三个:
为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。
在实际开发中最为常见的设计范式有三个:
简介:
用户在浏览网站、使用即时通讯软件、甚至在阅读电子邮件时,通常会点击其中的链接。攻击者通过在链接中插入恶意代码,就能够盗取用户信息。攻击者通常会用十六进制(或其他编码方式)将链接编码,以免用户怀疑它的合法性。网站在接收到包含恶意代码的请求之后会产成一个包含恶意代码的页面,而这个页面看起来就像是那个网站应当生成的合法页面一样。许多流行的留言本和论坛程序允许用户发表包含HTML和JavaScript的帖子。假设用户甲发表了一篇包含恶意脚本的帖子,那么用户乙在浏览这篇帖子时,恶意脚本就会执行,盗取用户乙的session信息。
一. 反射型XSS(非持久型XSS)
反射型XSS只是简单地把用户输入的数据“反射”给浏览器。黑客往往需要诱使用户“点击”一个恶意链接,才能攻击成功。
二. 储存型XSS(持久型XSS)
存储型XSS会把用户输入的数据“存储”在服务器端。这种XSS具有很强的稳定性。如:黑客将一段恶意JavaScript代码写入博客,那么所有访问该博客的用户,都会在他们的浏览器中执行这段JavaScript代码。
三. DOM Based XSS
这种类型的XSS并未按照“数据是否保存在服务器端”来划分,DOM Based XSS本质上也是反射型XSS。单独划分出来,是因为DOM Based XSS的形成原因比较特别。通过修改页面的DOM节点,形成的XSS,称之为DOM Based XSS。
如果用户输入的数据在未经处理的情况下插入到一条SQL查询语句,那么应用将很可能遭受到SQL注入攻击,正如下面的例子:
1
2
3
|
$unsafe_variable=$_POST[‘user_input’];
mysql_query(“INSERT INTO `table` (`column`) VALUES (‘”.$unsafe_variable.”‘)”);
|
因为用户的输入可能是这样的:
1
|
value’); DROP TABLE table;–
|
那么SQL查询将变成如下:
1
|
INSERTINTO`table` (`column`)VALUES(‘value’);DROPTABLEtable;–‘)
|
应该采取哪些有效的方法来防止SQL注入?
PHP本身就存在一个多维数据排序的函数
array_multisort() 函数对多个数组或多维数组进行排序,可以用来一次对多个PHP二维数组排序进行排序,或者根据某一维或多维对多维数组进行排序。
参数中的数组被当成一个表的列并以行来进行排序 – 这类似 SQL 的 ORDER BY 子句的功能。第一个数组是要排序的主要数组。数组中的行(值)比较为相同的话,就会按照下一个输入数组中相应值的大小进行排序,依此类推。
第一个参数是数组,随后的每一个参数可能是数组,也可能是下面的排序顺序标志(排序标志用于更改默认的排列顺序)之一:
SORT_ASC – 默认,按升序排列。(A-Z)
SORT_DESC – 按降序排列。(Z-A)
随后可以指定排序的类型:
先说说对方——汽车照明
如果没有良好路灯,在夜间,自行车与行人几乎是不可视的,车上的反光标记会因车灯照射形成光点引起注意,但司机看到的仅仅是路边有个光点。同时,汽车是快速运动的,同样照度下,视觉清晰程度远低于行人,所以必须用照度来补偿。。。
OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频 […]
客户端证书授权包含下面的参数:
grant_type | 必须。必须设置到客户端证书中。 |
scope | 可选。授权的作用域。 |
客户端授权响应: 客户端授权响应包含下面的参数:
你是否曾经见过像 $(“.cta”).click(function(){})这样的JavaScrip代码?或许你还会思考下$(‘#X’) 是什么,如果看到这些你都觉得摸不着头脑,那请一定要读完这篇文章。如果你觉得上述的代码片段是不能正常工作的,那请先看一些jQuery的代码范例,你会发现链接中的代码都是这样的结构。
这篇文章将会分析下面代码片段(动画化一个方形)中出现的一些关键知识点。你可能不会经常接触这样的代码,但了解一下这段代码的机制有助于你理解jQuery:
1
2
3
4
5
|
$(document).ready(function(){
$(“button”).click(function(){
$(“div”).animate({height:”toggle”}).append(“hi”);
});
});
|
我们将会逐字逐句地解释上述的代码,告诉你JavaScript函数、jQuery对象还有事件驱动编程的具体细节。希望看完这篇文章以后,再遇到神秘的jQuery代码时你不会再头疼。
$是什么?
原文地址:http://tutorials.jenkov.com/oauth2/resource-owner-credentials-request-response.html
资源拥有者者密钥证书授权包含单个的请求+响应。 资源拥有者密钥证书授权请求 请求包含下面的参数:
grant_type | 必须。必须设置到密码中。 |
username | 必须。UTF-8编码的资源拥有者用户名。 |
password | 必须。UTF-8编码的资源拥有者密码。 |
scope | 可选。授权的作用域。 |
契约授权包含一个请求和一个响应。 契约授权请求 契约授权请求包含下面的参数:
response_type | 必须。必须被设置在令牌中。 |
client_id | 必须。当客户端被注册时,有授权服务器分配的客户端标识。 |
redirect_uri | 可选。由客户端注册的重定向URI。 |
scope | 可选。请求可能的作用域。 |
state | 可选(推荐)。任何需要被传递到客户端请求的URI客户端的状态。 |