个人理财 如何在C ++中避免代码注入

如何在C ++中避免代码注入

视频: 【C++教學】1.7 编译执行过程详解 2024

视频: 【C++教學】1.7 编译执行过程详解 2024
Anonim

避免代码注入的第一条规则进入C ++程序永远不会有 允许用户输入被通用语言解释器处理。 SQL注入的一个常见错误是程序接受用户输入,就好像它总是可以接受的一样,并将其插入到SQL查询中,然后将其发送到数据库引擎进行处理。 举个例子,一个要求用户输入日期的程序可能会被黑客入侵。最安全和最用户友好的方法是向用户提供日历图形,从中可以选择开始日期和结束日期。程序会根据用户点击的内容创建一个日期。

<!如果这是不可能的,那么程序应仔细检查输入以确保输入的日期格式正确,在这种情况下

yyyy / mm / dd < - 换句话说,四位数字后面跟着一个斜杠,后面跟着两位数字和一个斜杠,最后是两个数字。没有别的东西应该被认为是可以接受

有时候你不能具体说明格式。如果您必须允许用户输入灵活的文本,那么您至少可以避免使用特殊字符。例如,不使用单引号或双引号就可以执行SQL代码注入。

如果不使用小于()的符号,则不能插入HTML标签。或者你也可以采取其他方式,不允许ASCII文本以外的任何东西:

//检查一些字符串',以确保它是ASCII的size_type off = s。 find_first_not_of(“abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890_”); if(off!= string:: npos){cerr <<“errorn”;}

此代码在字符串

s

中搜索不是字符A到Z,a到z ,0到9或下划线。如果发现这样的字符,那么程序拒绝输入。

如果您只允许在此处显示拉丁字符,那么您的应用程序将不适用于许多国外市场,例如那些不使用英文字符集(如阿拉伯文,中文,希伯来文或俄罗斯,仅举几例)。你可能需要采取相反的做法,只是寻找坏字。

如何在C ++中避免代码注入

编辑的选择

添加新的SketchUp图层并在图层之间移动实体 - 虚拟图层

添加新的SketchUp图层并在图层之间移动实体 - 虚拟图层

是SketchUp非常有用的一部分,他们可以让你的生活变得更轻松。以下是如何在Sketchup中添加新图层以及如何将实体移动到不同图层的方法。添加新图层按照以下步骤将图层添加到SketchUp文件:选择“窗口”→“图层”。图层...

全部关于地理位置快照和SketchUp - 虚拟

全部关于地理位置快照和SketchUp - 虚拟

当您将地理位置快照导入SketchUp ,您可以访问Google庞大的地理数据存储库;快照不仅仅是漂亮的图片:导入快照地理位置自动定位您的位置。这意味着快照设置您的模型的经纬度,并定位在正确的主要方向。任何阴影研究你...

如何在SketchUp中使用场景动画区域

如何在SketchUp中使用场景动画区域

将区域视图与场景组合在一起以创建动画展示您的SketchUp模型都是一种有用且令人印象深刻的方式。基本的想法是,您可以使用场景来创建动画,其中您的剖面在您的模型中移动。以下是您可能需要使用此技巧的几个原因:如果...

编辑的选择

Drupal友好的网页寄存公司 - 傻瓜

Drupal友好的网页寄存公司 - 傻瓜

网页寄存公司为您提供访问Web服务器,您可以在其中安装Drupal并使您的网站在Web上可见。一些公司为您安装Drupal或为您提供一键安装,为您节省了一些工作量。如果您决定自己跳过Drupal的安装,请考虑通过以下方式之一获取帐户...

Drupal花园功能 - 傻瓜

Drupal花园功能 - 傻瓜

让您有机会查看和使用所有Drupal花园功能,可以创建一个新的站点,然后选择自定义选项而不是其中一个已安装的模板:确保已经登录,然后单击我的站点链接。这样做打开了Drupal花园站点经理。点击创建...

Drupal园林主题生成器 - 傻瓜

Drupal园林主题生成器 - 傻瓜

Drupal花园设置完成后,有一些乐趣和玩你的网站上的主题。使用Drupal Gardens Theme Builder控制网站的外观是与安装Drupal自身副本不同的主要方式。但是你不会错过太多...

编辑的选择

上一次显示一张照片(全屏播放)如何在您的照片上一次显示一张照片(全屏播放)尼康D5300 - 傻瓜

上一次显示一张照片(全屏播放)如何在您的照片上一次显示一张照片(全屏播放)尼康D5300 - 傻瓜

很可能您已经在尼康D5300上播放了播放模式。但是,在数码相机上查看照片有不同的选项。对于正常播放 - 即每次只能查看一张照片 - 请执行以下步骤:

如何自定义尼康D3300的优化校准 - 傻瓜

如何自定义尼康D3300的优化校准 - 傻瓜

当您使用尼康D3300的内置原始处理器,您可以尝试不同的优化校准设置,了解每个设置对图像的影响。当您使用免费的Nikon软件Nikon ViewNX处理图像时,您可以选择相同的选项。该程序的原始转换器,以及在Adobe Photoshop中找到的那些...

如何在HDMI屏幕上显示实时预览预览 - 假人

如何在HDMI屏幕上显示实时预览预览 - 假人

尼康D7100相机连接到HDMI(高清晰度多媒体接口)设备,以在该屏幕上查看实时显示输出。摄影师经常使用此功能,因为摄影师需要比相机显示器提供更大的主题。使用此选项时,会出现一些问题:...