摘要:
跨站点脚本攻击开发攻击在那些没有进行输入验证和输入编码的web应用程序中,并嵌入到输出数据当中.恶意的用户可以注入客户端的脚本到输出数据中,并导致正常的用户浏览页面时,脚本代码被执行。攻击脚本代码将来自于一个信任的站点并且可能绕过浏览器的安装设置。 那些攻击是平台和浏览器无关的,它将允许恶意的用户在平台上执行恶意的行为,比如在客户端给未获得授权的访问,像cookies或者劫持整个session.
在web应用程序中,简单的开发人员保护XSS 攻击包括:
1,验证和限制用户的输入
2,encoding 输出的内容。
下面,我们介绍Microsoft Anti-Cross Site Scripting Library 阅读全文
摘要:
VC++中的四种强制转换类型运算符,const_cast,reinterpret_cast,static_cast,dynamic_cast
1, static_cast(a)
将地址a转换成类型T,T和a必须是指针、引用、算术类型或枚举类型。
表达式static_cast(a), a的值转换为模板中指定的类型T。在运行时转换过程中,不进行类型检查来确保转换的安全性
Fox example:
class B { ... };
class D : public B { ... };
void f(B* pb, D* pd)
{
D* pd2 = static_cast(pb); // 不安全, pb可能只是B的指针
B* pb2 = static_cast(pd); // 安全的
} 阅读全文
摘要:
“__declspec”是Microsoft c++中专用的关键字,它配合着一些属性可以对标准C++进行扩充。这些属性有:align、allocate、deprecated、 dllexport、dllimport、 naked、noinline、noreturn、nothrow、novtable、selectany、thread、property和uuid。 阅读全文
摘要:
1,DWORD
32位无符号整形量
相当于unsigned long/unsigned int ,这是一个双字节长度的Byte型数据类型。即此类型的变量在内存中占用四个字节。
2,UInt64 结构
表示 64 位无符号整数。此结构不符合 CLS。
UInt64 值类型表示值介于 0 到 18,446,744,073,709,551,615 之间的无符号整数。
3,BYTE
1 byte = 8 bit 阅读全文