当前位置:数据库 > SQLServer >>

c/c++待续动态内存及SQL注入

SQL攻击,不是利用操作系统的BUG实现攻击,而是利用程序员的疏忽,通过SQL语句,实现无账号登陆,甚至篡改数据库
 
 
 
常见的内存错误及其对策
 
1 内存未分配成功却使用了它(accert判空)
 
2 内存分配虽然成功,但尚未初始化就引用它(错误原因:一是没有初始化的概念;二是以为初始化全为零,导致引用错误(例如数组))
 
3内存分配成功并且已经初始化,但操作越过了内存的边界
例如在使用数组时,经常发生下标多1 或者少1 
 
 
4忘记了释放内存,造成内存泄露。Malloc、free必须配对使用
 
5 释放了内存却继续使用它。
有三种情况:
 
A 程序中的调用关系过于复杂
B 函数的return 语句写错了,(栈内存)
C 使用free或delete释放了内存后,没有将指针设置为NULL
  
释放内存之后立即将指针设置为NULL,防止产生"野指针"
补充:软件开发 , C++ ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,