主要内容

编写安全Web应用程序

大多数与部署web应用程序相关联的潜在风险来自每个应用程序中的代码。通过限制功能,您的应用程序使用这里列出的安全编码实践后,你可以减少你的应用程序的潜在风险。

身份验证和授权

如果你的应用程序需要访问敏感数据或执行有潜在危险的行动,您可以考虑实现自己的身份验证和授权方案。请咨询您的网络安全小组的建议。

不叫eval ()

MATLAB®eval ()函数将文本字符串转换为命令。这种强大的MATLAB函数允许用户执行任意代码。反过来,这段代码可以使执行任何安装程序,可用于低权限的用户或访问任何文件或低权限的用户可以访问的数据。应用程序创建web部署和访问必须不包含调用eval ()。看到替代eval函数办法消除eval ()从您的web应用程序的代码。依靠输入检查可以帮助减轻任何间接调用的风险eval ()。看到Sanitize用户输入(MATLAB Web应用程序服务器)

限制自由文本用户输入

使用菜单、滑块、表盘和按钮,而不是应用程序用户界面的可编辑的文本字段。除了提供一个更好的用户体验,这一做法限制了输入用户可以提供的类型,和这样的输入可能引入的风险。

Sanitize用户输入

安全专家,用户提供的数据被认为是不可信的,因为用户输入是一种常见的黑客攻击向量。如果你的应用必须接受自由文本输入,潜在的应用程序必须仔细检查输入代码注入attacks-text包含特殊字符,强迫应用解释输入命令,而不是数据。

在MATLAB代码注入攻击最有可能是针对XML、JSON、SQL和其他类似结构类型的输入。如果应用程序接受结构化输入,请咨询您的建议或安全小组如何清洁输入。这从来就不是一个好主意,以允许用户直接输入任何类型的代码(如MATLAB、Java®,或JavaScript®)直接评估。

Sanitize数据读取文件

从文件读取数据公开应用程序相同类型的风险收集交互式用户输入。应用相同的对策。同样,你可以通过密码保护只读数据文件从篡改数字指纹文件安全散列算法。

减少文件系统写操作

限制应用程序的只读访问大大减少了与应用程序相关的潜在风险。如果你必须写入文件系统,请记住,同时服务器运行应用程序的多个副本,如果多个用户同时访问它。你必须管理同步写操作通过使用独特的运行时生成的文件名或通常使用一个数据库,可以处理多个并发访问。如果不妥善管理,同时写可能发生数据损坏。

验证可信赖的第三方代码

如果你的应用包括MATLAB文件、共享库Java类,或任何其他类型的代码由第三方开发,您必须确保代码是免费的病毒、蠕虫、特洛伊木马等网络攻击和渗透向量。你可以讨论这个问题与代码和它的作者和保安人员。在二进制文件或Java类的情况下,考虑运行病毒扫描程序或其他安全软件的代码之前,包括在已部署的应用程序。

减少暴露水平

减少的一种方法是限制应用程序运行的时间只有当它是必要的。例如,不运行它不断地从你的桌面。

相关的话题