一切福田,不離方寸,從心而覓,感無不通。

Drupal 7 中,使用术语表为内容添加分类的做法

1、创建术语表访问 管理 > 结构 > 分类 > 添加词汇表(admin/structure/taxonomy/add)页面,填写词汇表的基本信息并点击保存 2、添加词汇创建完词汇表之后,便可以在术语表管理页面(admin/structure/taxonomy)看到刚才新建的“栏目分类”词汇表 点击词汇表后面的“添加术语”链接,进入添加术语页面,简单创建几个术语,然后对术语层级进行一下调整,得到如词汇结构。 3、添加内容类型字段  访问 管理 > 结构 > 内容类型(admin/structure/types)页面,可以看到系统中存在的内容类型的列表 4、点击“基本页面(page)”所在行的“管理字段”链接,进入“基本内容”内容类型的字段管理页面。在添加新字段处填写以下信息,然后点击“保存”: 标签:栏目分类 字段名称:field_category 存储的数据类型:术语来源 编辑此数据的表单元素:选择列表 在字段设置页面,选择术语来源,然后点击“保存字段设置” 5、选择“术语来源”之后,点击“保存字段设置”之后,会进入到字段详细配置页面,根据自己的需要对字段进行配置,因为这里只是做演示,直接点击页面最下方的“保存设置”即可 6、在返回的字段管理页面中,就可以看到“栏目分类”字段已经成功显示在内容类型的字段列表中了。拖动标签前面的十字架,将栏目分类移动到Title后面 7、创建内容访问 管理 > 信息面板 > 添加内容 > 基本页面(node/add/page)页面,已经可以在标题(Title)字段下方看到“栏目分类”字段了

龙生   17 Mar 2013
View Details

ASP安全架设:给每个IIS站点建立一个用户

木子屋地址:http://www.mzwu.com/trackback.asp?tbID=1149 一、这样配置的好处? 不知大家有没有听过旁注?我简单的解释一下吧:有个人想黑掉A站点,但找来找去都没发现可利用的漏洞,无意中他发现与A同服务器上还有个B站点,并且在B站点上找到了可利用的漏洞,于是他将木马从B站中上传至服务器,如果服务器权限配置不当,那么现在他就可以黑掉服务器上的所有站点了!如果我们为每个站点都建立一个用户,并设置该用户只有访问本站点的权限,那么就能将访问权限控制在每个站点文件夹内,旁注问题也就解决了。 二、准备工作 1. 运行环境:Win2K 服务器版 + IIS 5.02. 文件系统:各分区文件系统为NTFS3. 站点文件夹:E盘下建立两个文件夹web001和web0024. 新建站点:IIS中新建两个站点web001和web002,站点文件夹分别为E:\web001和E:\web002,都指定IP为192.168.0.146,端口分别为101和102 OK,在IE中分别输入http://192.168.0.146:101和http://192.168.0.146:102测试两站点是否建立成功。 三、配置过程 1.建立用户组和用户 新建一用户组webs,以后所有站点用户全部隶属于该组,以便于权限分配。 建立用户web01,注意要钩选"密码永不过期"(否则背后会出现"HTTP 401.1 – 未授权:登录失败"),并设置其只隶属于webs用户组。同样在建一个用户web02。 2.各分区NTFS权限设置 打开各分区的安全选项卡依次给各分区授于administrator和system完全控制权限,并设置webs组完全拒绝权限。 3.站点文件夹NTFS权限设置 打开E:\web01文件夹属性窗口,选择安全选项卡,先去掉"允许将来自父系的可继承权限传播给该对象"前的钩,经弹出的对话框中选择删除继承权限。 最终确保administrator、system和web01对该文件夹都有完全控制权限。 E:\web02文件夹也一样设置。 4.设置各站点的匿名访问用户 在IIS中打开web01站点属性,选择目录安全性→匿名访问和验证控制→编辑,去掉"集成Windows验证"前的钩,再编辑匿名访问使用的帐号,设置匿名访问帐号为web01(web02站点也一样设置)。 四、测试 将老兵写的站长助手放至web02站点中进行测试,经测试除站点文件可以浏览外,其他分区均不能访问:)

龙生   16 Mar 2013
View Details

Windows 2003 Server安全配置完整篇

一、先关闭不需要的端口 我比较小心,先关了端口。只开了3389 21 80 1433有些人一直说什么默认的3389不安全,对此我不否认,但是利用的途径也只能一个一个的穷举爆破,你把帐号改了密码设置为十五六位,我估计他要破上好几年,哈哈!办法:本地连接--属性--Internet协议(TCP/IP)--高级--选项--TCP/IP筛选--属性--把勾打上 然后添加你需要的端口即可。PS一句:设置完端口需要重新启动! 当然大家也可以更改远程连接端口方法: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp] "PortNumber"=dword:00002683 保存为.REG文件双击即可!更改为9859,当然大家也可以换别的端口, 直接打开以上注册表的地址,把值改为十进制的输入你想要的端口即可!重启生效! 还有一点,在2003系统里,用TCP/IP筛选里的端口过滤功能,使用FTP服务器的时候,只开放21端口,在进行FTP传输的时候,FTP 特有的Port模式和Passive模式,在进行数据传输的时候,需要动态的打开高端口,所以在使用TCP/IP过滤的情况下,经常会出现连接上后无法列出目录和数据传输的问题。所以在2003系统上增加的windows连接防火墙能很好的解决这个问题,所以都不推荐使用网卡的TCP/IP过滤功能。所做FTP下载的用户看仔细点,表怪俺说俺写文章是垃圾…如果要关闭不必要的端口,在\system32\drivers\etc\services中有列表,记事本就可以打开的。如果懒惰的话,最简单的方法是启用WIN2003的自身带的网络防火墙,并进行端口的改变。功能还可以!Internet 连接防火墙可以有效地拦截对Windows 2003服务器的非法入侵,防止非法远程主机对服务器的扫描,提高Windows 2003服务器的安全性。同时,也可以有效拦截利用操作系统漏洞进行端口攻击的病毒,如冲击波等蠕虫病毒。如果在用Windows 2003构造的虚拟路由器上启用此防火墙功能,能够对整个内部网络起到很好的保护作用。 关于端口的介绍可以访问:http://bbs.86dm.net/viewthread.php?tid=7&extra=page%3D1 二、关闭不需要的服务 打开相应的审核策略 我关闭了以下的服务 Computer Browser 维护网络上计算机的最新列表以及提供这个列表 Task scheduler 允许程序在指定时间运行 Messenger 传输客户端和服务器之间的 NET SEND 和 警报器服务消息 Distributed File System: 局域网管理共享文件,不需要禁用 Distributed linktracking client:用于局域网更新连接信息,不需要禁用 Error reporting service:禁止发送错误报告 Microsoft Serch:提供快速的单词搜索,不需要可禁用 NTLMSecuritysupportprovide:telnet服务和Microsoft Serch用的,不需要禁用 PrintSpooler:如果没有打印机可禁用 Remote Registry:禁止远程修改注册表 Remote Desktop Help Session Manager:禁止远程协助 Workstation 关闭的话远程NET命令列不出用户组 把不必要的服务都禁止掉,尽管这些不一定能被攻击者利用得上,但是按照安全规则和标准上来说,多余的东西就没必要开启,减少一份隐患。 在"网络连接"里,把不需要的协议和服务都删掉,这里只安装了基本的Internet协议(TCP/IP),由于要控制带宽流量服务,额外安装了Qos数据包计划程序。在高级tcp/ip设置里--"NetBIOS"设置"禁用tcp/IP上的NetBIOS(S)"。在高级选项里,使用"Internet连接防火墙",这是windows 2003 自带的防火墙,在2000系统里没有的功能,虽然没什么功能,但可以屏蔽端口,这样已经基本达到了一个IPSec的功能。 在运行中输入gpedit.msc回车,打开组策略编辑器,选择计算机配置-Windows设置-安全设置-审核策略在创建审核项目时需要注意的是如果审核的项目太多,生成的事件也就越多,那么要想发现严重的事件也越难当然如果审核的太少也会影响你发现严重的事件,你需要根据情况在这二者之间做出选择。 推荐的要审核的项目是: 登录事件 成功 失败 账户登录事件 成功 失败 系统事件 成功 失败 策略更改 成功 失败 对象访问 失败 目录服务访问 失败 特权使用 失败 三、关闭默认共享的空连接 […]

龙生   16 Mar 2013
View Details

Win2003 防木马、权限设置、IIS服务器安全配置整理

1、按照Windows2003安装光盘的提示安装,默认情况下2003没有把IIS6.0安装在系统里面。2、IIS6.0的安装  开始菜单—>控制面板—>添加或删除程序—>添加/删除Windows组件  应用程序 ———ASP.NET(可选)       |——启用网络 COM+ 访问(必选)       |——Internet 信息服务(IIS)———Internet 信息服务管理器(必选)                    |——公用文件(必选)                   |——万维网服务———Active Server pages(必选)                              |——Internet 数据连接器(可选)                               |——WebDAV 发布(可选)                              |——万维网服务(必选)                              |——在服务器端的包含文件(可选)  然后点击确定—>下一步安装。(具体见本文附件1)3、系统补丁的更新  点击开始菜单—>所有程序—>Windows Update  按照提示进行补丁的安装。4、备份系统  用GHOST备份系统。5、安装常用的软件  例如:杀毒软件、解压缩软件等;安装完毕后,配置杀毒软件,扫描系统漏洞,安装之后用GHOST再次备份系统。6、先关闭不需要的端口 开启防火墙 导入IPSEC策略在”网络连接”里,把不需要的协议和服务都删掉,这里只安装了基本的Internet协议(TCP/IP),由于要控制带宽流量服务,额外安装了Qos数据包计划程序。在高级tcp/ip设置里--"NetBIOS"设置"禁用tcp/IP上的NetBIOS(S)"。在高级选项里,使用"Internet连接防火墙",这是windows 2003 自带的防火墙,在2000系统里没有的功能,虽然没什么功能,但可以屏蔽端口,这样已经基本达到了一个IPSec的功能。修改3389远程连接端口修改注册表. 开始--运行--regedit 依次展开 HKEY_LOCAL_MACHINE/SYSTEM/CURRENTCONTROLSET/CONTROL/ TERMINAL SERVER/WDS/RDPWD/TDS/TCP 右边键值中 PortNumber 改为你想用的端口号.注意使用十进制(例 10000 ) HKEY_LOCAL_MACHINE/SYSTEM/CURRENTCONTROLSET/CONTROL/TERMINAL SERVER/ WINSTATIONS/RDP-TCP/ 右边键值中 PortNumber 改为你想用的端口号.注意使用十进制(例 10000 ) 注意:别忘了在WINDOWS2003自带的防火墙给+上10000端口修改完毕.重新启动服务器.设置生效.二、用户安全设置 1、禁用Guest账号 在计算机管理的用户里面把Guest账号禁用。为了保险起见,最好给Guest加一个复杂的密码。你可以打开记事本,在里面输入一串包含特殊字符、数字、字母的长字符串,然后把它作为Guest用户的密码拷进去。 2、限制不必要的用户 去掉所有的Duplicate User用户、测试用户、共享用户等等。用户组策略设置相应权限,并且经常检查系统的用户,删除已经不再使用的用户。这些用户很多时候都是黑客们入侵系统的突破口。 3、把系统Administrator账号改名 大家都知道,Windows 2003 的Administrator用户是不能被停用的,这意味着别人可以一遍又一遍地尝试这个用户的密码。尽量把它伪装成普通用户,比如改成Guesycludx。 4、创建一个陷阱用户 什么是陷阱用户?即创建一个名为“Administrator”的本地用户,把它的权限设置成最低,什么事也干不了的那种,并且加上一个超过10位的超级复杂密码。这样可以让那些 Hacker们忙上一段时间,借此发现它们的入侵企图。 5、把共享文件的权限从Everyone组改成授权用户 任何时候都不要把共享文件的用户设置成“Everyone”组,包括打印共享,默认的属性就是“Everyone”组的,一定不要忘了改。 6、开启用户策略 使用用户策略,分别设置复位用户锁定计数器时间为20分钟,用户锁定时间为20分钟,用户锁定阈值为3次。 (该项为可选)7、不让系统显示上次登录的用户名 默认情况下,登录对话框中会显示上次登录的用户名。这使得别人可以很容易地得到系统的一些用户名,进而做密码猜测。修改注册表可以不让对话框里显示上次登录的用户名。方法为:打开注册表编辑器并找到注册表“HKLM\Software\Microsoft\Windows T\CurrentVersion\Winlogon\Dont-DisplayLastUserName”,把REG_SZ的键值改成1。 密码安全设置 1、使用安全密码 一些公司的管理员创建账号的时候往往用公司名、计算机名做用户名,然后又把这些用户的密码设置得太简单,比如“welcome”等等。因此,要注意密码的复杂性,还要记住经常改密码。 2、设置屏幕保护密码 这是一个很简单也很有必要的操作。设置屏幕保护密码也是防止内部人员破坏服务器的一个屏障。 3、开启密码策略 注意应用密码策略,如启用密码复杂性要求,设置密码长度最小值为6位 ,设置强制密码历史为5次,时间为42天。 4、考虑使用智能卡来代替密码 对于密码,总是使安全管理员进退两难,密码设置简单容易受到黑客的攻击,密码设置复杂又容易忘记。如果条件允许,用智能卡来代替复杂的密码是一个很好的解决方法。三、系统权限的设置1、磁盘权限  系统盘及所有磁盘只给 Administrators 组和 SYSTEM 的完全控制权限  系统盘\Documents and Settings 目录只给 Administrators 组和 SYSTEM 的完全控制权限  系统盘\Documents and Settings\All Users 目录只给 Administrators 组和 SYSTEM 的完全控制权限  系统盘\Windows\System32\cacls.exe、cmd.exe、net.exe、net1.exe、ftp.exe、tftp.exe、telnet.exe 、 […]

龙生   16 Mar 2013
View Details

win2003服务器安全设置教程

服务器安全设置 1、系统盘和站点放置盘必须设置为NTFS格式,方便设置权限。 2、系统盘和站点放置盘除administrators 和system的用户权限全部去除。 3、启用windows自带防火墙,只保留有用的端口,比如远程和Web、Ftp(3389、80、21)等等,有邮件服务器的还要打开25和130端口。 4、安装好SQL后进入目录搜索 xplog70 然后将找到的三个文件改名或者删除。 5、更改sa密码为你都不知道的超长密码,在任何情况下都不要用sa这个帐户。 6、改名系统默认帐户名并新建一个Administrator帐户作为陷阱帐户,设置超长密码,并去掉所有用户组。(就是在用户组那里设置为空即可。让这个帐号不属于任何用户组—样)同样改名禁用掉Guest用户。 7、配置帐户锁定策略(在运行中输入gpedit.msc回车,打开组策略编辑器,选择计算机配置-Windows设置-安全设置-账户策略-账户锁定策略,将账户设为“三次登陆无效”,“锁定时间30分钟”,“复位锁定计数设为30分钟”。) 8、在安全设置里本地策略-安全选项将 网络访问:可匿名访问的共享; 网络访问:可匿名访问的命名管道; 网络访问:可远程访问的注册表路径; 网络访问:可远程访问的注册表路径和子路径; 以上四项清空。 9、在安全设置里 本地策略-安全选项 通过终端服务拒绝登陆 加入 以下为引用的内容:ASPNET GuestIUSR_*****IWAM_*****NETWORK SERVICESQLDebugger (****表示你的机器名,具体查找可以点击 添加用户或组  选  高级  选 立即查找 在底下列出的用户列表里选择. 注意不要添加进user组和administrators组 添加进去以后就没有办法远程登陆了。) 10、去掉默认共享,将以下文件存为reg后缀,然后执行导入即可。 Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters] "AutoShareServer"=dword:00000000 "AutoSharewks"=dword:00000000 11、 禁用不需要的和危险的服务,以下列出服务都需要禁用。 Alerter  发送管理警报和通知 Computer Browser:维护网络计算机更新 Distributed File System: 局域网管理共享文件 Distributed linktracking client   用于局域网更新连接信息 Error reporting service   发送错误报告 Remote Procedure Call (RPC) Locator   RpcNs*远程过程调用 (RPC) Remote Registry  远程修改注册表 Removable storage  管理可移动媒体、驱动程序和库 Remote Desktop Help Session Manager  远程协助 Routing and Remote Access 在局域网以及广域网环境中为企业提供路由服务 Messenger […]

龙生   16 Mar 2013
View Details

响应式框架 Groundwork

GroundworkCSS 是一个基于 Sass 预处理器的开源项目 ,主要用于快速构建响应式 Web 应用程序。拥有一个灵活的、可嵌套的网格系统,可以创建适应多种浏览设备的布局。 Groundwork 还提供多种 UI 组件,如导航、按钮、图标、表单、Tabs、对话框、工具提示等等。 转自:http://www.oschina.net/p/groundworkcss

龙生   15 Mar 2013
View Details

mysql 添加索引

1.添加PRIMARY KEY(主键索引) mysql>ALTER TABLE table_name ADD PRIMARY KEY ( column ) 2.添加UNIQUE(唯一索引) mysql>ALTER TABLE table_name ADD UNIQUE ( column ) 3.添加INDEX(普通索引) mysql>ALTER TABLE table_name ADD INDEX index_name ( column ) 4.添加FULLTEXT(全文索引) mysql>ALTER TABLE table_name ADD FULLTEXT ( column) 5.添加多列索引 mysql>ALTER TABLE table_name ADD INDEX index_name ( column1, column2, column3 ) 转自:http://www.jb51.net/article/32149.htm

龙生   15 Mar 2013
View Details

with(nolock)详解

大家在写查询时,为了性能,往往会在表后面加一个nolock,或者是with(nolock),其目的就是查询是不锁定表,从而达到提高查询速度的目的。 什么是并发访问:同一时间有多个用户访问同一资源,并发用户中如果有用户对资源做了修改,此时就会对其它用户产生某些不利的影响,例如: 1:脏读,一个用户对一个资源做了修改,此时另外一个用户正好读取了这条被修改的记录,然后,第一个用户放弃修改,数据回到修改之前,这两个不同的结果就是脏读。 2:不可重复读,一个用户的一个操作是一个事务,这个事务分两次读取同一条记录,如果第一次读取后,有另外用户修改了这个数据,然后第二次读取的数据正好是其它用户修改的数据,这样造成两次读取的记录不同,如果事务中锁定这条记录就可以避免。 3:幻读,指用户读取一批记录的情况,用户两次查询同一条件的一批记录,第一次查询后,有其它用户对这批数据做了修改,方法可能是修改,删除,新增,第二次查询时,会发现第一次查询的记录条目有的不在第二次查询结果中,或者是第二次查询的条目不在第一次查询的内容中。 为什么会在查询的表后面加nolock标识?为了避免并发访问产生的不利影响,SQL Server有两种并发访问的控制机制:锁、行版本控制,表后面加nolock是解决并发访问的方案之一。 1> 锁,每个事务对所依赖的资源会请求不同类型的锁,它可以阻止其他事务以某种可能会导致事务请求锁出错的方式修改资源。当事务不再依赖锁定的资源时,锁将被释放。 锁的类型:1:表类型:锁定整个表;2:行类型:锁定某个行;3:文件类型:锁定某个数据库文件;4:数据库类型:锁定整个数据库;5:页类型:锁定8K为单位的数据库页。 锁的分类还有一种分法,就是按用户和数据库对象来分: 1). 从数据库系统的角度来看:分为独占锁(即排它锁),共享锁和更新锁 1:共享 (S) :用于不更改或不更新数据的操作(只读操作),一般常见的例如select语句。 2:更新 (U) :用于可更新的资源中。防止当多个会话在读取、锁定以及随后可能进行的资源更新时发生常见形式的死锁。 3:排它 (X) :用于数据修改操作,例如 INSERT、UPDATE 或 DELETE。确保不会同时同一资源进行多重更新。 2). 从程序员的角度看:分为乐观锁和悲观锁。 1:乐观锁:完全依靠数据库来管理锁的工作。 2:悲观锁:程序员自己管理数据或对象上的锁处理。 一般程序员一看到什么锁之类,觉的特别复杂,对专业的DBA当然是入门级知识了。可喜的是程序员不用去设置,控制这些锁,SQLServer通过设置事务的隔离级别自动管理锁的设置和控制。锁管理器通过查询分析器分析待执行的sql语句,来判断语句将会访问哪些资源,进行什么操作,然后结合设定的隔离级别自动分配管理需要用到的锁。 2>:行版本控制:当启用了基于行版本控制的隔离级别时,数据库引擎 将维护修改的每一行的版本。应用程序可以指定事务使用行版本查看事务或查询开始时存在的数据,而不是使用锁保护所有读取。通过使用行版本控制,读取操作阻止其他事务的可能性将大大降低。也就是相当于针对所有的表在查询时都会加上nolock,同样会产生脏读的现象,但差别在于在一个统一管理的地方。说到了基于行版本控制的隔离级别,这里有必要说下隔离级别的概念。 隔离级别的用处:控制锁的应用,即什么场景应用什么样的锁机制。 最终目的:解决并发处理带来的种种问题。 隔离级别的分类: 1:未提交读,隔离事务的最低级别,只能保证不读取物理上损坏的数据; 2:已提交读,数据库引擎的默认级; 3:可重复读; 4:可序列化;隔离事务的最高级别,事务之间完全隔离。 小结:NOLOCK 语句执行时不发出共享锁,允许脏读 ,等于 READ UNCOMMITTED事务隔离级别 。nolock确实在查询时能提高速度,但它并不是没有缺点的,起码它会引起脏读。 nolock的使用场景(个人观点): 1:数据量特别大的表,牺牲数据安全性来提升性能是可以考虑的; 2:允许出现脏读现象的业务逻辑,反之一些数据完整性要求比较严格的场景就不合适了,像金融方面等。 3:数据不经常修改的表,这样会省于锁定表的时间来大大加快查询速度。 综上所述,如果在项目中的每个查询的表后面都加nolock,这种做法并不科学,起码特别费时间,不如行版本控制来的直接有效。而且会存在不可预期的技术问题。应该有选择性的挑选最适合的表来放弃共享锁的使用。 最后说下nolock和with(nolock)的几个小区别: 1:SQL05中的同义词,只支持with(nolock); 2:with(nolock)的写法非常容易再指定索引。 跨服务器查询语句时 不能用with (nolock) 只能用nolock 同一个服务器查询时 则with (nolock)和nolock都可以用 比如 SQL code select * from [IP].a.dbo.table1 with (nolock) 这样会提示用错误select * from a.dbo.table1 with (nolock) 这样就可以 转自:http://hi.baidu.com/gabriel/item/11f32132593557c31a96961a

龙生   15 Mar 2013
View Details

40例响应式Web设计

响应式Web设计是在开发和设计网站过程中产生的一种方式,它的目的是让内容布局能随用户使用显示器的不同而变化。再明确点说,这种设计概念,就是让原本1292像素宽,4栏的内容,能够很好地显示在1025像素宽的用户屏幕上,同时还能自动简化成2栏。当然,让它很好的适应智能手机和其他种类电脑的屏幕也就成了水到渠成的事了。这种特殊的设计形式就被成为“响应式Web设计”。 响应式Web设计与传统的设计方式截然不同,开发人员(特别是新手)必须要理解它的优势和弊端。这篇文章正是为大家揭示一些实例的。(这里介绍一个叫“Media Queries”的网站,里面介绍了更多实例和演示) 数据表格是响应式Web设计的经典使用情景,实现它的想法与传统的设计理念有很大不同。数据表格默认很宽,当你要查看它全貌时,你得缩小表格,但这时字会变 的很小,很难去阅读。然而当你想看清楚上面的字时,就不得不再把表格放大,这时要查看完整表格就得横滚加纵滚。这么阅读表格也太KB了。或许重新格式化表格或以饼图形式展现是种解决方案。再不然,你可以弄一个迷你图,即使在窄屏幕里它也能适应。 响应式Web设计中的图像以流式图像为主,可以被上下文感知的图像所替代,这是一种更好的设计方式。这种技术的真正意义在于,能够让图像适应不同的屏幕分辨率,更大的或更小的。所以它与传统设计的理念和技术都有很大不同,合理使用会让你的网页化腐朽为神奇。 Mountain Dew 访问网站 AXT 访问网站 Rbma Radio 访问网站 Lotta Nieminen 访问网站 Berger & Fohr 访问网站 Cropp 访问网站 Stink Digital 访问网站 Hair Project 访问网站 Atlanta Ballet 访问网站 Google Cultural Institute 访问网站 Build Windows 访问网站 Enochs 访问网站 From The Front 访问网站 Sweet Hat Club 访问网站 Oliver Russel 访问网站 United Pixelworkers 访问网站 dConstruct 2012 访问网站 Food Sense 访问网站 Andersson-Wise Architecture 访问网站 TeeGallery 访问网站 Lynn and Tonic 访问网站 8Faces 访问网站 Sleepstreet 访问网站 ConvergeSE 2012 访问网站 Iwantedrock 访问网站 Abberdein 访问网站 Inspire Conference 访问网站 Design Week Portland 访问网站 […]

龙生   12 Mar 2013
View Details

视觉陷阱

龙生   12 Mar 2013
View Details