[蛋疼]代码与数据混合的代价

1、栈/堆溢出
发生原因:栈/堆中的内容可为代码可为数据。
解决方案:把内存页面的“可执行”属性的设置和取消看作危险操作和特权操作。把DEP的开启和取消看作危险操作和特权操作。

2、SQL注入
发生原因:SQL代码与数据混合。
解决方案:让SQL去死,换一种更合理的代码与数据分离的框架。

3、Javascript XSS
发生原因:用户输入是数据,但整合到页面中有变成代码的可能。
解决方案:创造隔离空间,进一步分离代码与数据。最好能提出一种系统的办法来解决这个问题。

你可能感兴趣的:([蛋疼]代码与数据混合的代价)