Apr 26

第一台THINKPAD 不指定

kcao , 09:40 , 技术 , 评论(0) , 引用(0) , 阅读(1541) , Via 本站原创

sd第一台THINKPAD,不过不是IBM的,是LENOVO的THINKPAD,看着价格还不错,就定了,毕竟算是顶级机器了,不过购物流程不是很愉快,每天都去看几次,有更新就写一笔,看看LENOVO的订单跟踪系统到底做得怎么样.你看:

  • 4/13下单,说ESTIMATE SHIP是4/18,号称"Shipment tracking is available the morning after shipment"
  • 4/18查看,还是IN PROCESS
  • 4/21收到邮件,说已经托运,但是查看状态还是IN PROCESS,去邮件查询,说的确已经运出,但是状态还是IP...
  • 4/26早上状态变成SHIPPED ON 21/04/10 UPS SCS (ASIA) LIMITED,但是没有TRACKING NUMBER,还是"Shipment tracking is available the morning after shipment"
  • 4/28早上,终于忍不住打了电话问他们我的ORDER的状态,他们查了一会儿后告诉我今天就能送到,然后发了一封EMAIL给我,虽然能够看到状态了,但是今天也能送到了,还有什么意义呢.LP在家收到了包裹,UPS网站的状态也已经变成了'DELIVERED',但是LENOVO的网站上还是一样的"Shipment tracking is available the morning after shipment".无语...

=============================

好了,收到了T410,比较公司配发的DELL E6400,看看传说中的小黑是不是真的是个神话...

结果,很失望...

  1. 传说中神话般的键盘手感比DELL的电脑来是好一点,但是真的感觉不到它有多么高贵.一般般吧...
  2. 整体重量(9芯电池)是2.5KG,有点偏重,但可以接受
  3. 左侧的USB接口间隔太紧,特别是下面的2个USB口,机器放在桌面时很难插入
  4. 电源适配器上没有DELL配的皮带,不利于整理电线
  5. 键盘...让我感觉很不好,理由如下,就2个,但是键盘的使用频率很高,这种不好的感觉就非常严重:
    1. Fn键在最外围,这样按左CTRL时常常会误按FN.想想,左CTRL的定位就是应该在最左下角,或者是SHIFT的下面,常常会用在盲打中,应该靠习惯定位,而FN这种功能键应该做得小,让用户目视定位.
    2. T410比E6400增加了前翻后翻页键,但是不合适地放在方向键的左右键之上.这样在浏览器中编辑文本时就要格外当心,因为按左右键定位时如果万一按到左翻右翻页键,你的网页就跑掉了,再回来时你的编辑内容可不会留下来.其实这个功能用FN+左右键更合适
  6. LENOVO加装的乱七八糟的软件让系统占用了太多的内存,可能品牌机都这样?...原谅我,这是我家用的第一个正版OS...

下面说说优点:

  1. 点指杆感觉不错,比DELL的要强很多,虽然我似乎更习惯用触摸板,但是它的感觉还是非常可圈可点的
  2. 面板不错,是整体的,相比之下,DELL面板上那条会漏水的缝让人感觉莫名其妙.不过THINKPAD的标记感觉很CHEAP
  3. 发热情况让人满意

另外的补充:

  • 原来系统中安装的是POWER MANAGER 3.13,找了半天也没有THINKPAD最令人称道的充电管理功能(battery charge threshold)----也就是可以自己设定当电池剩余电量到某个百分数时才进行充电的功能.后来去LENOVO网站下载安装了PM3.20版后,这个功能出现了.

总的来说,这次买T410让我挺失望的.还好这个DEAL价格不错,原价1900多的机器我1100连税买了,差不多是半价.不然,LENOVO根本不值这个价钱,不过,也有可能是我的期望太高了.毕竟,再好的电脑也只是台电脑.看它以后的表现吧,也有可能会让我改观呢?但就从现在来说,我下一台电脑可能还是会选其它的,不会选LENOVO了.

Apr 21

DELPHI开发WEB SERVICE, 有几种选项, 我开始选ISAPI,但是编译出来的DLL在被APACHE运行过后就被驻留在内存里,不能替换删除,不利于我这种初学者:我要不停地替换这个DLL看结果的.因此用了CGI格式输出.编辑出来的CGI文件如何使用在另一文中已经记录了.

一个WEB SERVICE可以有多个ACTION,对应不同的信息处理动作,每个ACTION都有其对应的PathInfo属性,在object Inspector中可以看到,修改对应的PathInfo可以按不同的URL实现对同一个CGI文件不同ACTION的调用,比如说:
Action1的PathInfo设置为"/": http://localhost/cgi-bin/webservice.exe?name=abc
Action2的PathInfor设置为"/act2": http://localhost/cgi-bin/webservice.exe/act2?name=abc

 

Tags: , ,
Apr 18

delphi方面的就不说了,有了向导,想不编译成功都是很难的.

apache方面,修改httpd.conf,然后重启apache就ok了,在httpd.conf末尾添加isapi支持修改如下:

AddHandler isapi-isa .dll

Alias /ws "D:/MyServer/www/WS"

<Directory "D:/MyServer/www/WS"> #目录下所有的DLL都会运行
Options ExecCGI
</Directory>

ISAPICacheFile D:/MyServer/www/WS/WebService.dll #只是Cache, 不影响其他DLL的运行.

虽然apache安装默认会加载isapi支持,但是自己确认一下比较好,同样在这个文件中,必须有这行

LoadModule isapi_module modules/mod_isapi.so

下面是参考的在线文档
http://www.kreny.com/doc/apache2.0/mod/mod_isapi.html

=========================================================
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jalphi/archive/2006/04/24/675685.aspx

=========================================================

Delphi还能编辑WebService为CGI的EXE文件,此时,只要把编译好的EXE文件放入APACHE目录下的CGI-BIN目录下,就可以直接按http://myserver/cgi-bin/aaaaa.exe?xx=yy访问了.这里aaaaa.exe可以是任何扩展名,只要放入此目录下的文件,都会被执行而不管其扩展名是什么.

 

Apr 16

SQL Server 2005:SQL代码安全之权限


一、 SQLCLR权限集级别
当你使用CREATE ASSEMBLY语句把一个程序集加载到一个数据库中时,SQL Server提供了三种权限集级别:SAFE,EXTERNAL_ACCESS和UNSAFE。这些权限集形成所示的AppDomain策略级别。

下面是一个典型的语句,它实现安装位于FileLoader.dll文件内的一个程序集,并且赋予它EXTERNAL_ACCESS权限集。
 

SQL Code Copy Code To Clipboard
  1. CREATE ASSEMBLY FileAccess    
  2. FROM 'E:FileLoader.dll'    
  3. WITH PERMISSION_SET = EXTERNAL_ACCESS    
  4. GO   


在代码执行时,每一种权限集级别都授予该代码一组不同的CAS许可权集。下面让我们开始讨论在每一级上授予的特定许可权。

(1) SAFE
SAFE是默认的权限集。它仅授予足够的许可权来执行代码,实现不要求存取外部资源的内部计算以及存取在宿主SQL Server实例中的数据和对象。注意,SAFE代码不能存取外部的资源,因此它不能读取或写磁盘文件,不能存取任何其它SQL Server实例,或读取或写注册表。而且,该代码也必须被检验为类型安全的,这将有助于避免各种包括缓冲区溢出在内的攻击。

SAFE代码是更可靠和安全的SQLCLR代码。它能够实现用T-SQL书写的代码在数据库和服务器实例内所能实现的几乎一样的功能。它能够授予如表格1所列举的CAS许可权。从表格1中可见,该代码能够运行和读取宿主SQL Server实例中的对象和数据-借助于一种特定形式的ADO.NET连接串,或者是"context connection=true"或者是"context connection=yes"来实现。任何其它连接串都可能会导致某种安全异常。

权限 类型 限制
SecurityPermission 受限制 执行
SqlClientPermission 受限制 不能是空口令,只能使用上下文连接串


授予给一个程序集的结果权限集是列举于表格1中的许可权权限集与来自企业、机器和用户权限集的交集。因为这些级别默认会拥有所有的许可权,所以程序集仅接受列举于表格1中的权限。注意,请确保你一定要理解这些权限。

(2) EXTERNAL_ACCESS
与SAFE相比,EXTERNAL_ACCESS权限集允许有限制地存取存在于SQL Server实例外部的资源-包括磁盘文件,在其它SQL Server实例中的数据和对象,环境变量和注册表的一些部分。存取这些其它资源通常是在SQL Server服务帐户的安全上下文中进行的,但是,该代码能够模拟其它用户进行存取。这个级别授予列举于表格2中的许可权。

权限 类型 限制
EnviromentPermission 不受限制 -
FileIOPermission 不受限制 -
RegistryPermission 受限制 仅能以读方式存取HKEY_CLASSES_ROOT,HKEY_LOCAL_MACHINE,HKEY_CURRENT_USER,HKEY_CURRENT_CONFIG和HKEY_USER
 
SecurityPermission 受限制 Assertion,Execution,SerializationFormatter,ControlPrincipal
KeyContainerPermission 不受限制 -
SqlClientPermission 不受限制 -
EventLogPermission 受限制 仅限于本地主机且仅限于系统管理员
DnsPermission 不受限制 -
SocketPermission 受限制  仅限于IP地址
WebPermission 受限制 仅能通过HTTP存取本地主机
SmtpPermission 受限制  仅能进行连接存取
DistributedTransactionPermission 不受限制 -
NetworkInformationPermission 受限制 仅能通过Ping方式存取
StorePermission 不受限制 -


上面不受限制的FileIOPermission可能看起来有点令人担心,因为,它意味着,从CLR的角度来看,代码能存取磁盘上的任何位置。但是切记,该代码仍然运行于本地服务帐户的操作系统安全限制下。因此如果该帐户不能存取一个文件的话,那么SQLCLR代码也不能存取。

典型地,本地服务帐户是一种具有极强权限的帐户,因此存在滥用的可能性。为此,我们一般把对这些程序集的存取权限仅授予那些具有服务帐户信任度的登录并且不使用本地系统帐户作为SQL Server的服务帐户。

值得注意的是,借助于EXTERNAL_ACCESS权限集,你可以使用一个更传统型的ADO.NET连接串来连接到在同一个SQL Server实例(SQLCLR代码在其中运行)中的一个数据库。这需要SqlClientPermission以便你能够使用一个除了"上下文连接"串以外的连接-用以读取当前实例中的数据,指定通常的服务器命名,凭证,等等。然而,我也无法找到为什么你要这样做的理由,但是既然我们可以进行选择,也是一件好事,对吗?

(3) UNSAFE
这个UNSAFE权限集是赋予所有权限的SQLCLR等价物,在这种情况下,CLR挂起所有的许可权检查。它接受单个的不受限制的SecurityPermission权限,这是CLR的授予所有权限的方式。

潜在地,一个UNSAFE程序集能够完成各种"危险性"的动作,因为它属于内在地被信任的代码。例如,它能调用非托管代码,例如COM组件和原始Win32 API。它还受限于服务帐户的操作系统许可权,但是CLR不会限制它存取任何资源的能力。

因为UNSAFE是如此的不安全,所以,只有一个sysadmin能够创建这种类型的程序集。
 

二、 访问外部资源
因为访问外部资源需要与操作系统进行交互,所以,当代码尝试存取外部的资源时,存在多种要遵守的规则。

对于SAFE代码来说,这种规则是简单的:如果它试图存取一个外部的资源,那么存取将被否认并且它引发一个异常。就是这些。

对于EXTERNAL_ACCESS和UNSAFE的情况,则复杂些:

规则1:如果代码在一个SQL Server登录的安全上下文下执行(也就是说,还没有被映射到一个Windows用户或组),那么存取将被禁止并且引发一个异常。一个SQL登录并不拥有SQL Server外的任何许可权,因此这是很重要的。

规则2:如果代码在一个被映射到一个Windows登录的登录下执行,那么进行外部存取的执行上下文就是该登录的执行上下文。如果该用户能够存取Windows中的资源,那么该代码成功。如果不是,存取被否认并且引发一个异常。

规则3:如果调用者不是原始的调用者(已经进行了一个执行上下文切换),那么存取被否认并且引发一个异常。

 

Tags: ,
Apr 15

这里只是简述,家用服务器可以担当非常多的功能,我们不可能面面俱到,但是尽量以最小的代价,提供最多的功能.

现在我的服务器可以承担的功能主要是文件服务器和各类应用服务器.使用非常方便.描述如下:

1. 硬件配置:

服务器最重要的是稳定与节能,运行速度不是非常在意的.所以我的服务器使用的是最便宜的CELERON,40$,主板也比较普通,内存只有2G,如果能加到4G以上当然更好.硬盘很重要,因为要做文件服务器的,一定要大,而且稳定,我用了一块便宜的RAID卡和3块WD的1G绿盘组建了一个2G的RAID5.这样大大提高了系统的稳定性,速度和数据安全性.

另外,外接一个USB的外置硬盘,用来备份重要数据.更进一步提高数据安全性.

除此之外,打印机也连接在服务器上,可以用于打印服务.

2. 软件配置.

先说操作系统,我现在装的是WINDOWS2008.当然用2003也是类似的.之所以不采用LINUX完全是因为我没有足够的经验来配置,没有熟练配置的LINUX安全性要大打折扣,当然,WINDOWS的应用软件也多.操作系统被配置为域服务器,这样增加了系统安全性,用户必须登录到域才能访问各计算机,而且文件夹也可以设置访问权限.

服务器上的杀毒软件,我的服务器除了负责内部网络的文件服务之外,还有很多任务是与外网相关的,所以杀毒软件是必须安装而且非常重要的.我用的是MCAFEE8.5企业版,这个软件不光杀毒,还有非常好的访问控制功能,在一般情况下,我把访问控制设置到最大,连EXE文件都不能直接在硬盘上创建,这样可以大大提高系统安全性.

文件备份系统,可以使用WINDOWS自身附带的计划任务,不过推荐使用ACRONIS TRUEIMAGE软件,可以定期将指定的文件目录压缩备份到移动硬盘中,并可实现差异备份以节约磁盘空间.注意TRUEIMAGE只有企业版才能应用在WINDOWS SERVER中.

其他软件视服务器所需要,比如安装FTP服务软件,电骡,IIS或者APACHE等WWW软件,MYSQL数据库等.这里要说明的是如果想安装MS SQL 2008的话,是不能安装在域服务器上的,如果必须要有此服务,可以在服务器上安装VMWARE,另建一个WINDOWS 2008环境,用以安装SQL 2008服务.不过,这样一来,要求内存和CPU要足够才行.

外部访问,从外部访问本地服务器是非常常见的,比如在办公室时要与家里交互文件,直接操作文件,让计算机运行程序等等.实现这些功能有这几种方法: 1.使用FTP,这个好处是可以开放权限给其他人. 2. 安装HAMACHI,这是一个免费的VPN软件,在服务器上建立一个虚拟局域网,远程计算机通过密码可以以VPN登录,共享文件或者做任何局域网中可以做的事. 3. 直接使用远程控制软件,如PCANYWHERE,或者WINDOWS远程桌面,这个好处更多,不光可以远程修改文件,更可以指挥服务器运行程序.

外部访问时,要指定家里服务器的地址,直接使用IP当然不错,不过,更好更方便的是使用花生壳等动态域名软件.

从外部访问还要注意ROUTER的端口设置,必要的端口转移需要被设好.

 

 

这样的一台家用服务器比购买的NAS功能强劲了无数,而价格并没有贵多少,当然,如果考虑正版的WINDOWS SERVER2008和其他软件,多出的费用还是有点可观的.

Tags:
分页: 1/2 第一页 1 2 下页 最后页 [ 显示模式: 摘要 | 列表 ]