草庐IT

安全设计

全部标签

windows - 如果 git index.lock 存在,我可以安全地删除它,还是需要更多操作来验证完整性?

在过去的几周里,我收到了几次关于index.lock存在的消息。删除该文件作为解决方案在gitindex.lockFileexistswhenItrytocommit,butcannotdeletethefile删除该文件是否足够,或者我还需要执行其他操作(是否有验证完整性等的方法?)。这是在安装了git命令行工具、TortoiseGIT和SourceTree的Windowsx64系统(完全修补)上。 最佳答案 没有otheranswers提及index.lock的用途。然而,它记录在Git发行版中,位于文件“Documentati

windows - Windows 允许的文件名对于注入(inject)是安全的吗? (SQL、JavaScript 等)

我想问一下Windows允许的文件名对于SQL(Oracle和通用)、JS、xml等注入(inject)是否安全。检查并替换以下字符:/:*?"|(还有它们的ascii值等)。长度也不能超过~180个字符检查是在客户端(仅用于可用性)和服务器端(用于安全性)安全地进行的文件名保存到oracleDB中,有oracle->java->xml->xslt->browser这样的流程显示。编辑:@Bohemian的回答指出了SQL注入(inject)的不安全部分(使用准备好的语句可以简单地禁止它)。JS或xml注入(inject)如何?(可能导致XSS或通过xslt访问硬盘)

python - 将 python 2.7.7 更新到 2.7.9 - 安全吗?

我打算从Python2.7.7更新到2.7.9(或更好的2.7.10)版本。因为我有很多正在进行的项目,所以我必须非常小心。我的问题是-更新到2.7.9/10版本是否安全?一切都会照常进行吗?如果我从pythonofficialweb下载msi就足够了吗?并安装它? 最佳答案 Python的次要版本升级(即2.7.x到2.7.y)通常是向后兼容的,出现故障的风险很低。参见https://hg.python.org/cpython/raw-file/15c95b7d81dc/Misc/NEWS对于2.7.9到2.7.10之间的所有细节

c++ - tchar 安全函数——UTF-8 常量的计数参数

我正在将一个库从char移植到TCHAR。根据MSDN,该片段的计数参数是多字节字符数,而不是字节数。那么,我做对了吗?我在VC9中的项目属性显示“使用unicode字符集”,我认为这是正确的,但我不知道这会如何影响我的计数参数。_tcsncmp(access,TEXT("ftp"),3);//ordoiwant_tcsnccmp?“仅在Windows平台上受支持,_mbsncmp和_mbsnbcmp是strncmp的多字节版本。_mbsncmp最多比较count个多字节字符,_mbsnbcmp最多比较count个字节。它们都使用当前的多字节代码页。_tcsnccmp和_tcsncmp

.net - 如何使用 WPF 为桌面设计具有多个 View 的单个窗口?

如果我想在我的应用程序主窗口中显示一些对话框,而不创建新窗口,我应该采用什么方法?Modal:模糊原始内容并显示其上方的对话框选项卡:在新选项卡中显示对话框,让用户回到原来的位置覆盖:隐藏原始内容,直到对话框结束在您最喜欢的方法中,我应该如何将对话框内容与主窗口内容分开。我应该将它们放在单独的用户控件中吗? 最佳答案 根据how-do-make-modal-dialog-in-wpf,你可以只使用Window.ShowDialog方法。 关于.net-如何使用WPF为桌面设计具有多个Vi

windows - 如何在 if 子句中安全地回显变量的值而跳过双引号?

运行@echooffsetlocalenabledelayedexpansionsetx=somevaluewithunsafe(^&^()")charactersinsideif1==1(echo"valueofx(!x!)isinteresting")给予"valueofx(somevaluewithunsafe(&()")charactersinside)isinteresting"我必须将要回显的值放在双引号内以避免解析错误。但是,我不想打印这些双引号。有什么方法可以暂时(只是为了安全地将它传递给echo命令)打印引用值? 最佳答案

c++ - 为什么我的程序设计为耗尽 RAM 和 CPU 而没有使用所有 RAM 和 CPU?

#include#include#include#include#include#includeusingnamespacestd;charrandomLetter(){srand(time(0));charrValue;while(1)if((rValue=(rand()/129))>31)returnrValue;}intmain(){vectormeegaString;for(inti=0;i运行此程序之前的RAM使用量约为2500/8000MB。到了3200,抛出如下异常:Unhandledexceptionat0x773c15deinResourcesgormandizer.

c++ - GlobalMemoryStatusEx 线程安全吗?

来自MSDNpage:“GlobalMemoryStatusEx函数返回的信息是易变的。不能保证对该函数的两次连续调用将返回相同的信息。”这是有道理的,但是我无法确定这是否是线程安全的。有人确定知道一种或另一种方式吗?我已尝试使用谷歌搜索,但找不到此信息。 最佳答案 MSDN页面上说的是函数返回的信息是随时间变化的:这就是“volatile”的意思。例如,GetSystemTime返回的信息也是“易变的”。关于过程的其他不同概念是“可重入”和“线程安全”。可重入意味着过程使用的信息依赖于局部变量,而不是全局变量,这可以解释为线程安全

c++ - 假设任何 x86 编译的应用程序总是在 x64 版本下运行是否安全?

是否可以安全地假设任何x86编译的应用总是在编译该应用的同一操作系统的x64版本下运行?/p>据我所知,对于Windows操作系统,答案是"is"。Windowsx86仿真层也是出于同样的目的而构建的。但是,我只想再次确认这里的专家。Unix、Linux呢?有什么注意事项吗? 最佳答案 不,要运行x86代码,它需要在兼容或传统模式下运行。如果操作系统不支持在兼容模式下运行进程,程序很可能无法运行。Linux和IFAIKWindows目前支持兼容模式,看起来还有更多或多或少的支持。我的理解是NETBSD需要一个特殊的模块来支持它,因此

c++ - 设计线程类

我有一个设计问题。为发送和接收定义单独的类是否更好。或者,定义单个Thread类是否更好?我喜欢单个Thread类的想法,因为它更容易共享可以被互斥锁锁定的队列。设计选项#1(独立):mySendThread=newSendThread();//HavethreadpropertiesandseparatemembersmyRcvThread=newRcvThread();//Havethreadpropertiesandseparatemembers设计选项#2(主):主线程-Execute(){if(threadType==RCV_THREAD){globalVar=newMast