Sunday, April 10, 2011

CC

验证CC算法

http://en.wikipedia.org/wiki/Luhn_algorithm

Informal explanation
The formula verifies a number against its included check digit, which is usually appended to a partial account number to generate the full account number. This account number must pass the following test:
  1. Counting from the check digit, which is the rightmost, and moving left, double the value of every second digit.
  2. Sum the digits of the products (eg, 10 => 1, 14 => 5) together with the undoubled digits from the original number.
  3. If the total modulo 10 is equal to 0 (if the total ends in zero) then the number is valid according to the Luhn formula; else it is not valid.
Assume an example of an account number "4992739871" that will have a check digit added, making it of the form 4992739871x:
Account number4992739871x
Double every other418947691672x
Sum digits4 + (1 + 8) + 9 + (4) + 7 + (6) + 9 + (1 + 6) + 7 + (2) = 64 + x
To make the sum divisible by 10, we set the check digit to 6, making the full account number 49927398716.
The account number 49927398716 can be validated as follows:
  1. Double every second digit, from the rightmost: (1×2) = 2, (8×2) = 16, (3×2) = 6, (2×2) = 4, (9×2) = 18
  2. Sum all the individual digits (digits in parentheses are the products from Step 1): 6 + (2) + 7 + (1+6) + 9 + (6) + 7 + (4) + 9 + (1+8) + 4 = 70
  3. Take the sum modulo 10: 70 mod 10 = 0; the account number is probably valid.

Monday, March 7, 2011

如何成功拿到澳大利亚旅游签证

一、前言

根据不同的访问目的,澳大利亚提供了多种访客签证以供选择,主要分为旅游签证、商务签证、其他类别签证三种。这里主要介绍赴澳大利亚旅游签证,即常说的“676”类别旅游签证。

二、旅游签证介绍

签证类别

访澳目的为度假、观光、探亲访友或购置私人房产,您需要申请旅游签证(676类别)。若访澳目的为参加3个月以内(含3个月)的非正式课程或培训,也可申请旅游签证。

旅游签证(676类和679类)持有人在澳期间不得进行工作。

停留期限
根据不同情况,旅游签证可签发单次或多次入境签证,在澳停留期限为每次3个月、6个月或12个月。申请人可根据需要,申请相应的入境次数和停留时间。签证官则会根据申请人的个人情况,来决定是否同意给与相应的签证。

一般情况下,3个月的旅游签证已能够满足绝大多数访澳者的需要。如需签发停留期限更长的签证,则需要符合特定的条件。例如,申请人为澳大利亚公民或永久居民的父母,并且已经递交了移民申请,但移民签证尚未批准。

旅游签证是为了满足申请人短期访问澳大利亚而设的签证类别。因此在一般情况下,此签证不能作在澳停留超过12个月之用;也不能借助此签证,实现在澳长期居住的目的。

三、所需材料

基本材料要求

首次申请赴澳旅游签证、或过去5年内从未访澳或只参加过ADS旅游团访澳的申请人:

使用首次申请赴澳旅游签证(签证类别676)材料核对表

http://www.china.embassy.gov.au/bjngchinese/files/676%20checklist%20for%201st%20visit%20with%20VAC%20link%20update%2014122009%20CHS%2epdf

曾以个人名义在过去5年中访问过澳大利亚的申请人:

使用非首次申请赴澳旅游签证(签证类别676)材料核对表

http://www.china.embassy.gov.au/bjngchinese/files/676%20checklist%20for%20repeat%20visits%20with%20VAC%20link%20update%2014122009%20CHS%2epdf

需要注意的是,有些时候澳洲签证有健康要求,需要申请人进行健康检查,遇到这种情况,您可以看看澳大利亚驻华大使馆的签证相关的健康要求须知。

递交材料须知

建议为了加快登记程序,请去除申请资料中的所有钉书针、装订夹、钢夹、回形针、文件夹、塑料袋或报事贴。

四、如何申请

居住地为: 广东、福建、湖南、广西、云南、贵州、海南的申请人须在澳大利亚驻广州领事馆签证处办理旅游探亲签证。

如何申请

方式一:通过邮寄方式递交旅游签证申请。将申请表、护照和申请材料邮寄到相关签证处。

邮寄方式:请注明收款人的姓名为“澳大利亚驻广州总领事馆签证处 ”,收款人的地址为“广州市天河区珠江新城临江大道3号,发展中心12楼,邮编:510623 ”。如需用EMS方式回邮,则需另付邮费23元人民币。 (4本护照以内)

方式二:选择亲自前往澳大利亚驻广州领事馆签证处递交签证申请。但这并不意味着亲自递交的签证申请会比通过邮寄方式递交的申请处理得快。(中国的签证处只收取人民币,不收澳元,美元或港币,及不接受信用卡或个人支票。)

受理时间
递交申请后一个星期左右,即可知道申请的受理结果。

Tuesday, October 26, 2010

如何:将权限授予文件夹和程序集

FW:http://technet.microsoft.com/zh-cn/office/zdc263t0%28VS.80%29.aspx

Visual Studio Tools for the Microsoft Office System
如何:将权限授予文件夹和程序集

下面的过程将为 Visual Studio Tools for Office 解决方案中的程序集或文件夹授予完全信任权限。通常,要为特定程序集授予权限。如果具有多个程序集,而且确信位置是安全的,则可为程序集所在的文件夹授予完全信任权限。如果为文件夹授予信任权限,该文件夹及其子文件夹中的所有程序集也都是受信任的。

在 Office 解决方案中,有三种方式可以向文件夹和程序集授予权限:

*

使用 Visual Studio 中的“Trust Assemblies Location”属性。(仅在开发时有用。)

“Trust Assemblies Location”属性只在开发期间起作用;此属性不影响最终用户。由于这个原因,您不能使用此方法进行部署。有关更多信息,请参见 Visual Studio Tools for Office 项目中的属性。
*

使用“Microsoft .NET Framework 2.0 配置”工具。

此工具为使用安全策略提供了图形用户界面。
*

使用“代码访问安全策略”工具 (Caspol.exe)。

此工具是用于使用安全策略的命令行界面。

Note注意

以上是出于开发和测试程序集的目的,设置您自己的安全策略的基本步骤。如果您不能确定程序集或目录是安全的,不要使用这些步骤向其授予信任。有关设置安全策略的更多信息,请参见 部署安全策略 和 使用 .NET Framework 配置工具 (Mscorcfg.msc) 配置代码组。
使用 Trust Assemblies Location 属性

默认情况下,创建项目时,将基于位置授予完全信任。如果“信任程序集位置”已更改,可以重新应用默认设置:
向开发计算机上的项目程序集授予完全信任

1.

在 Visual Studio 中,在“解决方案资源管理器”中选择该项目节点。
2.

在“属性”窗口中选择“Trust Assemblies Location”。
3.

将该属性设置为 true。
4.

在“生成”菜单上单击“生成解决方案”。

使用 .NET Framework 2.0 配置工具

向以下对象授予信任的步骤是不一样的:

*

本地计算机上的程序集或文件夹,或
*

网络中其他计算机(或映射驱动器)上的程序集或文件夹。

向本地计算机上的程序集或文件夹授予完全信任

1.

在“控制面板”中打开“管理工具”。
2.

运行 “Microsoft .NET Framework 2.0 配置”。
Note注意

可能有多种名称以“Microsoft .NET Framework”开头的类似工具。确保使用的配置工具与您的运行库的版本相匹配。
3.

在左侧的树视图中,依次展开“.NET Framework 2.0 配置”、“我的电脑”、“运行库安全策略”、“用户”、“代码组”、“All_Code”,然后展开“VSTOProjects”。
Note注意

如果之前没有编译过 Visual Studio Tools for Office 项目,则不会有 VSTOProjects 文件夹。可以将新的代码组添加到“All_Code”根节点,或者可以编译 Visual Studio Tools for Office 项目以自动创建 VSTOProjects 文件夹。
4.

右侧是 VSTOProjects 代码组的说明,其页面底部有一个“任务”区域。在“任务”区域中单击“添加子代码组”。

“创建代码组”向导启动。
5.

选择“创建新代码组”,然后输入可以帮助您识别项目的名称和说明。单击“下一步”。
6.

在“选择此代码组的条件类型”列表中单击“URL”。
7.

在 “URL”框中键入程序集的完整路径,或者键入项目的 bin 文件夹的路径并在后面添加一个星号(例如,c:\\ExcelApplication1.dll 或 c:\\ExcelApplication1\bin\*)。
8.

单击 “下一步”。
Note注意

如果键入 bin 文件夹的路径,则将在您的计算机上对该文件夹及其全部子文件夹下的所有程序集授予完全信任。确保未经授权的人员无法访问完全受信的文件夹,否则有人可能在该文件夹中放入恶意程序集,并且该程序集将以完全信任权限运行。
Caution note警告

不要向整个硬盘(如 C:\*)或常规文件夹(如“我的文档”)授予权限,因为您可能会将权限授予来自 Internet 或电子邮件的缓存程序集。仅将权限授予特定的项目文件夹,这些文件夹包含您确信可以安全运行的程序集。
9.

选择“使用现有权限集”,然后从列表中选择“FullTrust”。
10.

单击“下一步”。
11.

单击“完成”。

向网络计算机或映射驱动器上的程序集或文件夹授予完全信任

1.

在“控制面板”中打开“管理工具”。
2.

运行 “Microsoft .NET Framework 2.0 配置”。
Note注意

可能有多种名称以“Microsoft .NET Framework”开头的类似工具。确保使用的配置工具与您的运行库的版本相匹配。
3.

在左侧的树视图中,依次展开“.NET Framework 2.0 配置”、“我的电脑”、“运行库安全策略”、“计算机”、“代码组”、然后展开“All_Code”。
4.

在 “All_Code”下右击“LocalIntranet_Zone”,再单击“新建”。

该操作假定目标服务器位于“本地 Intranet”区域中。如果它已被添加到 Internet 资源管理器中的“受信任站点”区域,则右击 Trusted_Zone。如果程序集位于映射驱动器上,则必须使用“LocalIntranet_Zone”。
5.

输入可以帮助您识别项目的名称和说明。单击“下一步”。
6.

在“选择此代码组的条件类型”列表中单击“URL”。
7.

在“URL”框中键入程序集的完整路径,或者键入项目的 bin 文件夹的路径并在后面添加一个星号(例如,\\ServerName\FolderName\ExcelApplication1.dll 或 http://ServerName/FolderName/ExcelApplication1/bin/*)。
8.

单击“下一步”。
Note注意

如果键入 bin 文件夹的路径,则将在您的计算机上对该文件夹及其所有子文件夹中的所有程序集授予完全信任。如果不确定这些文件夹是否安全,这样宽松的权限可能会带来安全风险。
9.

选择“使用现有权限集”,然后从列表中选择“FullTrust”。
10.

单击“下一步”。
11.

单击“完成”。

Note注意

只有管理员才能向网络计算机上的程序集或文件夹授予完全信任,且信任必须在计算机级别而不是在用户级别授予。
使用代码访问安全策略工具 (Caspol.exe)

也可以使用代码访问安全策略工具 (Caspol.exe) 从命令提示符向文件夹授予完全信任。有关 Caspol.exe 的更多信息,请参见 代码访问安全策略工具 (Caspol.exe)。

可以在用户级别使用普通用户权限,向本地计算机上的文件夹授予信任。要向网络位置授予信任,必须具有管理员特权并在计算机级别更改安全策略。计算机策略级别独立于用户策略级别工作,并且计算机策略级别不会对 Intranet 区域授予完全信任,即使用户策略授予完全信任。这些策略级别必须一致。
Note提示

手动键入命令。将命令复制和粘贴到命令提示符中可能导致“未知选项”错误。
向本地文件夹授予完全信任

*

在 Visual Studio 命令提示符下键入以下命令:

caspol -u -ag All_Code -url
C:\\\* FullTrust -n "" -d
""

向网络文件夹授予完全信任

*

在 Visual Studio 命令提示符下键入以下命令:

caspol -m -ag LocalIntranet_Zone -url
\\\\* FullTrust -n "" -d
""

有关更多信息,请参见 如何:使用 Caspol.exe 添加代码组。
Note注意

部署策略之后,受策略更改影响的所有人都必须退出并重新启动解决方案中使用的所有 Office 应用程序,这样对该策略所做的更改才会生效。如果 Microsoft Office Word 2003 是解决方案的一部分,用户还必须退出并重新启动 Microsoft Office Outlook 2003。另外,如果用户在 Internet Explorer 中打开了文档或工作簿,则进程可能仍在运行。检查 Windows 任务管理器以确保没有 Office 应用程序的实例。其他承载 Office 应用程序的应用程序也会阻止实施新的权限。当安全策略改变时,用户应当退出所有使用 Office 的应用程序(无论是寄宿的还是独立的)。

Wednesday, October 13, 2010

Warning: gethostbyaddr() [function.gethostbyaddr]: Address is not a valid IPv4 or IPv6 address

在本地安装了服务器,测试对比了下,最后发现是远程服务器上全局变量没有开启 register_globals=off ,不过那服务器上的配置我也改不了,后来倒是在网上找到可以在源文件中加入如下代码来解决问题:


(可以更改配置的话,是在服务器php.ini文件中。

至于register_globals=on与register_globals=off的区别与利弊,在下就不在这边发表愚见了。

Tuesday, June 15, 2010

CookieCollection

CookieCollection cc = new CookieCollection();
cc.Add(new Cookie("CampaignID", "", "/"));
//cc.Add()
Uri uri = new Uri("http://www.google.com");
cookieContainerDecision.Add(uri, cc);

Thursday, May 20, 2010

Error using WaitHandle.WaitAll() in STA thread.

REF:http://social.msdn.microsoft.com/forums/en-US/netfxbcl/thread/eefc0160-987c-47e1-a41b-bbae96726ec4/

If you don't need to run in STA, you can decorate Main with:

C#: [MTAThreadAttribute()]

VB:

and then use WaitHandle.WaitAll(your_WaitHandle_array) as originally intended.