65得票8回答
sprintf/snprintf哪个更安全?

我想知道这两种选项中哪一个更安全:#define MAXLEN 255 char buff[MAXLEN + 1] sprintf(buff, "%.*s", MAXLEN, name) snprintf(buff, MAXLEN, "%s", name) 我的理解是这两者是相同的。请给...

34得票2回答
这段C代码存在哪些漏洞?

#include <stdlib.h> #include <unistd.h> #include <string.h> #include <sys/types.h> #include <stdio.h> int main(int a...

25得票7回答
如何安全地清除std::string?

如何在 std::string 中存储敏感数据(例如:密码)? 我有一个应用程序,在连接设置期间提示用户输入密码并将其传递给下游服务器。我想在建立连接后安全地清除密码值。 如果我将密码存储为 char * 数组,则可以使用诸如 SecureZeroMemory 等API从进程内存中清除敏感...

19得票2回答
Java(或Scala)中的向上路径遍历过滤

有没有标准库方法可以过滤掉包含特殊遍历序列(例如../和所有其他复杂的向上目录遍历形式)的路径,以保护文件路径API输入不超出给定“根”路径的范围? 我有一个包含根文件夹值成员的类,以及一个接受要递归删除的路径的成员函数。我的目标是使此API安全,在过滤任何输入路径时 - 这将转换为超出根文...

13得票3回答
如何以安全的方式使用便携式Shell创建临时文件?

我想在POSIX shell(/bin/sh)中创建一个临时文件。 我发现我的AIX框上没有mktemp(1),并且根据How portable is mktemp(1)?的说法,它也不是很便携和安全。 那么,我应该使用什么替代品?

13得票6回答
安全的C++编码实践

我正在寻找一份详尽的C++安全编码实践记录。由于我还没有在这里找到这样的清单,因此我们可以将其变成一个社区维基,供以后参考。 我正在寻找解决安全问题的解决方案,例如基于堆栈和堆的缓冲区溢出和下溢,整数溢出和下溢,格式化字符串攻击,空指针解引用,堆/内存检查攻击等等。 NB:除了编码实践之外...

10得票2回答
如何在项目中保护数据库配置文件?

我已经创建了一个PHP文件来与数据库服务器建立连接。在这个文件中,我使用mysql_connect()函数,并提供我的数据库服务器的主机名、用户名和密码作为参数。public class DatabaseConnect { function __construct() { mysql_...

10得票6回答
Checkmarx - 如何解决存储的绝对路径遍历问题?

Checkmarx - 版本号 9.3.0 HF11 我在 Docker 文件中将环境变量值作为数据目录路径传递,该路径在开发/用户验收测试服务器中使用。 ENV DATA /app/data/ 在本地环境中,使用以下环境变量 DATA=C:\projects\app\data\ ...

9得票1回答
Facebook图片URL - 如何防止未经授权的用户访问?

我对社交网络非常感兴趣,并偶然发现了一些让我好奇的事情。 Facebook是如何防止用户修改URL并获得他们不应该看到的照片呢? 让我举个例子,这是一个被改变过的Facebook图片URL,它出现在我的动态中: https://fbcdn-sphotos-g-a.akamaihd.net...

7得票7回答
如何正确使用malloc和free来管理内存?

我想知道使用malloc和free的正确/标准方式是什么。释放后需要将指针设置为NULL吗?基本上,以下两种方式哪一种是正确的? double* myPtr = (double*)malloc(sizeof(double)*5); ..... free(myPtr); 或者 doubl...