草庐IT

通信安全

全部标签

c++ - 在调用仿函数时删除它是否安全?

假设我有以下代码:typedefstd::functionfunc_type;voidsome_func(){//Irrelevantstuffhere.Mighttakesometime...}DWORDWINAPIthread_proc(LPVOIDlpParameter){func_type&func=*static_cast(lpParameter);func();return0;}intmain(){HANDLEhandle;{std::functionmy_func(some_func);handle=::CreateThread(NULL,0,&thread_proc,&

c++ - 惰性初始化缓存...如何使其成为线程安全的?

这就是我所拥有的:Windows服务C#多线程服务使用读写锁(一次多次读取,写入会阻塞其他读/写线程)一个简单的、自写的数据库C++足够小以适合内存足够大,不想在启动时加载它(例如10GB)读取性能非常重要写作不太重要树状结构树节点中的信息存储在文件中为了更快的性能,文件仅在第一次使用和缓存时加载延迟初始化以加快数据库启动速度由于数据库会非常频繁地访问这些节点信息(每秒几千次),而且我不经常写,所以我想使用某种双重检查锁定模式。我知道这里有很多关于双重检查锁定模式的问题,但似乎有很多不同的意见,所以我不知道什么是最适合我的情况。你会用我的设置做什么?这是一个例子:一棵有100万个节点的

windows - Windows 8 应用商店应用程序可以通过 UDP/TCP 套接字与 Windows 7 桌面应用程序通信吗?

详细说明情况:我们有两个应用程序,为简单起见,我们将它们称为A和B。两者都在Windows7上开发和运行,它们可以使用UDP/TCP进行连接和通信。现在我们要将AppB转换为Windows8以利用MetroUI。我们是否需要对AppA中的网络代码进行大量更改?它甚至可以继续在Windows7上运行并与运行在Windows8上的AppB通信吗?据我了解,Win8处理套接字的方式与以前的Windows略有不同,因此我表示怀疑。 最佳答案 只是从不同的角度来看,通信在技术上是可行的,但是explicitlyforbidden(假设您要在W

奇安信-源代码安全缺陷问题解决记录:路径遍历、API误用、配置文件明文

目录输入验证-路径遍历API误用-不安全的框架绑定密码管理-配置文件中的明文密码jasypt冲突依然报明文缺陷null引用总结输入验证-路径遍历pom.xml:引入commons-iodependency>groupId>commons-iogroupId>artifactId>commons-ioartifactId>version>2.4version>dependency>代码替换Filefile=newFile(logpath);FileInputStreamlogfile=newFileInputStream(file);替换为importorg.apache.commons.io.

c++ - 如何在进程间通信中获取其他端点的进程ID

使用Win32C++API,我想知道哪个IPCmethod,允许多进程通信中的任何端点获取与之通信的进程的PID或HANDLE。换句话说,如果进程A从进程B收到一条消息:如果B没有(直接)在发送的消息中给出任何提示,A可以知道B发送了消息吗?如何?要求:B的PID不能在IPC消息中发送给A。通信的目的是简单的远程过程调用。但是,我不希望远程系统/主机上的进程调用本地主机上运行的进程提供的过程。我当然找到了RPCdocumentationonMSDN.但是,我想知道是否有比RPC更好的方法来实现我想要的。或者,如果您认为RPC是可行的方法,能否告诉我原因以及您是否知道除MSDN之外还有其

c++ - 如何改进我的代码以生成安全的随机数?

我正在尝试找出生成安全随机数(例如python中的secrets)的最佳方法或库。我正在使用代码块在Windows10上工作。到目前为止我已经这样做了:#include#include#includeusingnamespacestd;intmain(){srand((unsigned)time(0));inti;i=(rand()%6)+1;cout我正在尝试从python中复制与secrets相同的函数来生成安全的随机数。 最佳答案 std::rand()不提供足够的保证用于加密应用程序(又名安全随机数):Therearenog

服务器和客户端是否可以在同一个端口上发起通信并发送命令?

我有一个服务器和一个客户端应用程序,我的服务器监听端口10015和一个向该端口发送命令的客户端。目前两者都在同一台机器上运行,但future的目标是在不同的机器上运行。我现在有这部分工作。接下来我需要做的是让我的服务器也向我的客户端发送命令。所以我想我可以在我的客户端中重新使用我的服务器代码来监听一个端口。但我不确定这是最好的方法。建议?当我第一次尝试这个时,我先运行我的客户端应用程序,然后它向自己发送命令。我的服务器应用程序无法绑定(bind)到端口(我假设您只能让一个进程监听给定端口?)问题1)服务器如何向客户端发送命令?我是否必须在端口10015上创建服务器-->客户端通信,并在

安全远程服务器上的 php LDAP 绑定(bind) Windows 失败

我试图在Windowsphp本地测试环境中的安全连接中查询远程LDAP服务器。我想我必须正确授予访问权限,因为我可以使用LDAP浏览器应用程序并且可以很好地连接到远程服务器。另外,如果我执行'telnetremoteserverurl.com636',那么命令提示符中会显示一个空白屏幕,所以我至少正在连接。但是在我下面的.php代码中,我在绑定(bind)时遇到错误:“PHP警告:ldap_bind():无法绑定(bind)到服务器:无法在线联系LDAP服务器...”相同的代码适用于Linux服务器。我认为我的本地php环境中缺少某种用于安全LDAP连接的LDAP库?无论如何,这是代码

.net - 打开文件 - 安全警告

操作系统:VistaBusiness64-BIT编码:.NET和第3方EXE问题:安全我已经下载了curl.exe来帮助我从亚马逊加载产品信息。Curl.exe已经过预编译,不是.NET应用程序,因此我不愿意对curl的构建进行任何更改。关于问题。当我执行CURL时,我得到这个对话框:说:打开文件-安全警告无法验证发布者。您确定要运行该软件吗?运行或取消无论是手动运行软件还是以编程方式运行软件,我都会遇到此错误。当我手动使用这个软件时,我可以处理这个问题,但我试图自动化一个过程以编程方式运行这个,所以我想禁止这个对话框。在研究这个的过程中,我获得了很多关于调整IE设置的信息...但我没

C++ 线程安全双向链表

我正在编写的应用程序需要上述数据结构。我想知道是否有一个库已经实现了它,或者我是否必须自己编写它?如果没有必要,我真的不想重新发明轮子。我需要这个结构能够使用多个线程添加和删除项目,而不必在这样做时锁定整个结构。 最佳答案 可能有,但我认为这是Java早期的教训之一-数据同步通常不在容器的成员函数级别,而是在上面的一个步骤。您应该在访问非线程安全列表之前使用同步对象。考虑:ThreadSafeQueuetsq;tsq.push_back(...);//addlotsofdata...//Findthefirstelementthat