十二、 防火墙/IDS 躲避和哄骗 很多 Internet 先驱们设想了一个全球开放的网络,使用全局的 IP 地址空间,使得任何两个节 点之间都有虚拟连接。这使得主机间可以作为真正的对等体,相互间提供服务和获取信息。人 们可以在工作时访问家里所有的系统、调节空调温度、为提前到来的客人开门。随后,这些全 球连接的设想受到了地址空间短缺和安全考虑的限制。在 90 年代早期,各种机构开始部署防火 墙来实
[1] Chet Ramey 承诺会在Bash的未来版本中实现关联数组(associative arrays) (一个Perl特性). 到了版本3,这个特性还没有实现.
Python有众多优点,其中之一就是“开机即用”原则: 安装Python的同时会安装好大量的标准软件包,这样 你可以立即使用而不用自己去下载?Django也遵循这个原则,它同样包含了自己的标准库?这一章就来讲 这些集成的子框架 Django标准 Django的标准库存放?django.contrib 包中。每个子包都是一个独立的附加功能包?这些子包一般是互相独立的,不过有些django.contr
是时候承认了: 我们有意的避开了Web开发中极其重要的方面。 到目前为止,我们都在假定,网站流量是大量的匿名用户带来的。 这当然不对。 浏览器的背后都是活生生的人(至少某些时候是)。 这忽略了重要的一点: 互联网服务于人而不是机器。 要开发一个真正令人心动的网站,我们必须面对浏览器后面活生生的人。 很不幸,这并不容易。 HTTP被设计为”无状态”,每次请求都处于相同的空间中。 在一次请求和下一次请
上一章已经为大家介绍了 JSP 的各种基础知识,相信大家对它已经有了一个基本的了解,有了这些基础我们就可以分析 JSP 程序的漏洞了。本章为大家介绍一些常见的 JSP 漏洞。因为 JSP 的编译性语言,而且编写的过程也比较规范,我们可以用 javascript+html+jsp的方式来开发 JSP 系统。但是更多的系统确是采用 JAVA 软件的开发流程来开发,过程如下: 1.编写源代码 2.通过编
内容提要 本章主要讲解了一种机制————同样的url,客户端和服务器之间如何根据客户端的需要发送适当的版本文档给客户端,比如同样在浏览器输入www.baidu.com,那么如果是英国的用户很可能希望收到的收到的是英语版本的网页,而在中国的用户很可能希望收到中文版本的网页,那么服务器是怎么实现根据需要发送不同的版本的呢!于是有了内容协商和转码!所谓内容协商指的是客户端和服务器通过在http报文设置相
客户端javascript涵盖在本系列的第二部分第10章,主要讲解javascript是如何在web浏览器中实现的,这些章节介绍了大量的脚本宿主对象,这些对象可以表示浏览器窗口、文档树的内容。这些章节同样涵盖重要的web应用所需要的网络编程API、本地存储和检索数据、画图等。主要包含内容有以下章节: web浏览器中的javascript / window对象 / 脚本化文档 / 脚本化css
If you have knowledge, let others light their candles at it. Margaret Fuller 技能分享会是一个活动,其中兴趣相同的人聚在一起,针对他们所知的事情进行小型非正式的展示。在园艺技能分享会上,可以解释如何耕作芹菜。如果在编程技能分享小组中,你可以顺便给每个人讲讲 Node.js。 在计算机领域中,这类聚会往往名为用户小组,是开阔
我看着眼前的许多颜色。 我看着我的空白画布。 然后,我尝试使用颜色,就像形成诗歌的词语,就像塑造音乐的音符。 Joan Miro 前面几章的内容为你提供了构建基本的 Web 应用所需的所有元素。 在本章中,我们将实现一个。 我们的应用将是像素绘图程序,你可以通过操纵放大视图(正方形彩色网格),来逐像素修改图像。 你可以使用它来打开图像文件,用鼠标或其他指针设备在它们上面涂画并保存。 这是它的样子:
击球手击出垒球,外场手会立即开始奔跑,并预测球的轨迹。外场手追踪球,不断调整移动步伐,最终在观众的掌声中抓到它。无论是在听完朋友的话还是早餐时预测咖啡的味道,你时刻在做的事就是在预测未来。在本章中,我们将讨论循环神经网络,一类可以预测未来的网络(当然,是到某一点为止)。它们可以分析时间序列数据,比如股票价格,并告诉你什么时候买入和卖出。在自动驾驶系统中,他们可以预测行车轨迹,避免发生事故。更一般地
12.1 概述 12.1.1 什么是零配置 在SSH集成一章中大家注意到项目结构和包结构是不是很有规律,类库放到WEB-INF/lib文件夹下,jsp文件放到WEB-INF/jsp文件夹下,web.xml需要放到WEB-INF文件夹下等等,为什么要这么放呢?不这样放可以吗? 所谓零配置,并不是说一点配置都没有了,而是配置很少而已。通过约定来减少需要配置的数量,提高开发效率。 因此SSH集成时的项目
顶点数组对象( VAO )是一种特殊类型对象,它封装了与顶点处理器有关的所有数据,它仅仅是记录顶点缓存区和索引缓冲区的引用,以及顶点的各种属性的布局而不是实际的数据。这样做的好处是一旦你为一个 mesh 设置一个 VAO ,你就可以通过简单的绑定 VAO 来导入 mesh 的所有状态。之后你就可以直接渲染 mesh 对象而不需要担心它的状态,VAO 为你记住了它。如果你的程序需要对顶点属性布局不同
纹理贴图就是将任意一种类型的图片应用到 3D 模型的一个或多个面上。图片(也可以称之为纹理)内容可以是任何东西,但是他们一般都是一些比如砖,叶子,地面等的图案,纹理贴图增加了场景的真实性。例如,对比下面的两幅图片。 为了实现纹理贴图,你需要进行三个步骤:将图片加载到 OpenGL 中;定义模型顶点的纹理坐标(以对其进行贴图);用纹理坐标对图片进行采样操作进而得到像素颜色。因为我们可能会对三角形进行
在上一课中我们学习了屏幕空间环境光遮挡算法,在这个算法中首先我们使用了一个缓存来存放每个像素在视图空间中的坐标信息。在这一课中我们要自我挑战一下,直接通过深度缓存来计算像素在视图空间中的位置坐标。这个方法的优点就在于更少的内存占用,因为这样的话我们只需要为每个像素保存一个浮点类型的深度值即可,而不是像之前那样的一个完整的三维向量。这一课的内容很大部分上都依赖于上一课的内容,所以在学习这一课之前要确
人们经常问,我在1975年提出的观点和建议,哪些是我仍然坚持的,哪些是已经改变观点的,是怎样改变的?尽管我在一些讲座上也分析过这个问题,我还是一直想把它写成文章。 Peter Gordon 现在是 Addison-Wesley 的出版伙伴,他从1980年开始和我共事。他非常耐心,对我帮助很大。他建议我们准备一个纪念版本。我们决定不对原版本做任何修订,只是原封不动地重印(除了一些细小的修正),并用更