草庐IT

Python安全攻防之第二章Python语言基础

全部标签

c++ - 在多个线程之间安全地共享一个结构

在Windows/C++下,如果我有一个结构:structListItem{ListItem*next;ListItem*prev;...}连同在主进程和几个动态加载的DLL中运行的多个线程,并且所有这些线程都需要共享上述结构,我如何阻止它们互相踩踏?像这样的东西:ListItem*list=...Alist->next=...B我应该在A和B处放置什么以防止一次运行list->next=...的线程不超过一个? 最佳答案 主要有两种方式。一种可能是最简单的方法是简单地向每个线程发送它自己的数据结构拷贝。这样您就不必使用同步来保护数

c# - 安全地将密码从 C# 传输到 Java 应用程序

我有一个C#应用程序,它调用许多java应用程序,其中一些应用程序使用SSH进行各种操作。目前,我从java命令行应用程序中收到许多弹出框,要求输入密码。我想知道您是否对我如何在C#中输入密码然后安全地将其传递给Java应用程序有任何具体建议。目前,我使用带有许多命令行参数的shellexec调用java应用程序。我唯一能想到的是以某种方式在C#中加密密码,然后在Java中解密。但我怀疑他们不共享一个共同的解密过程,或者如果他们共享我也必须在程序之间传递key......有什么建议吗?大卫 最佳答案 我认为加密是一个很好的解决方案。

python - 基于 expat 的 xml 解析脚本在 Linux 上不工作,在 Windows 上工作

我正在用python编写一组工具,以从交通模拟软件生成的一些xml文件中提取数据。由于生成的文件可能非常大,我使用xml.parsers.expat来解析它们。问题是,当我在工作时在WindowsXP机器上运行我的脚本时,它运行良好,但在家里,在Ubuntu10.10上,在同一个文件上,我收到以下错误:ExpatError:格式不正确(无效标记):第1行,第0列该文件最初是用utf-8编码的,标签中声明的编码是ascii,因此尝试将其更改为utf-8(或UTF8或utf8)但没有成功。由于没有BOM,我尝试编写它,但仍然没有成功。我还尝试用Unix换行符(CR)替换Windows换行符

python - 我应该抛出哪个 Python 异常?

我正在编写一些代码来操作Windows剪贴板。我做的第一件事是尝试使用WindowsAPI中的OpenClipboard()函数打开剪贴板:ifOpenClipboard(None):#Accesstheclipboardhereelse:#Handlefailure这个函数可能会失败。因此,如果确实如此,我想提出一个异常(exception)。我的问题是,我应该引发哪些标准Python异常?我认为WindowsError是正确的,但不确定。有人可以给我一个建议吗? 最佳答案 最好避免直接引发标准异常。创建您自己的异常类,从最合适的

windows - 将我的角色服务包存储在 Azure blob 存储中有多安全?

Azure管理门户允许从之前上传到Azureblob存储的服务包部署服务。这看起来非常方便,但有点偏执-如果某些第三方访问blob存储并检索构成我的角色的可执行文件怎么办?在Azureblob存储中存储角色服务包的安全性如何?如果有的话,还有什么更好的选择? 最佳答案 有一些攻击向量可以进入blob存储,而您可以控制所有这些向量,因此由您来确保访问的安全。具体来说:将您的主要和次要key保护到存储帐户。丢失这些key会危及存储帐户。默认情况下,对blob存储的所有访问都必须经过身份验证。保护订阅的所有管理证书(私钥)。管理证书持有者

c++ - 在 C++ 和 Python 之间共享视频数据

我有一个USB相机(uEye),它有一个C++接口(interface),允许您配置相机的一些功能。C++程序可以从相机读取图像数据并将其存储在预先分配的内存中的某个位置。所有这些都在Windows下运行。带有numpy的Python为我提供了一个简单的环境来处理图像并花一些时间研究我的处理算法。我想做的是:使用c++程序配置摄像头并获取图像(以视频速率),将数据传递给Python用Python处理数据我的印象是我不想在Python中嵌入C++或在C++中嵌入Python,因为我更喜欢有两个独立的系统(这样我就可以在没有Python的情况下使用相机,或者使用Python的东西没有相机)

python - 如何将 python 2.7 功能设置为 Python 2.6?

我目前的工作是在Windows环境中使用Python2.6。但我对Python2.7中添加的一些功能很感兴趣。是否可以将某些功能(特别是“Collections.OrderedDict”)从2.7移动到2.6?如果是这样,我们该怎么做? 最佳答案 看看http://pypi.python.org/pypi/ordereddict它被宣传为Adrop-insubstituteforPy2.7'snewcollections.OrderedDictthatworksinPython2.4-2.6.

Python - 访问 protected 网络资源

我需要通过Python脚本打开本地网络上的文件。在基本情况下很简单:fh=open('\\servername\path\resource.txt','r')...问题是对该网络资源的访问受到保护。我试过类似的东西:fh=open('\\servername\path\resource.txt@username:pass','r')但它不起作用。有什么想法吗? 最佳答案 首先Python中的反斜杠需要转义,所以你的路径字符串是'\\\\servername\\path\\resource.txt'#or..r'\\servernam

python - 如何将通过 ctype malloc 分配的二进制缓冲区保存到 Python 中的文件中?

我有以下代码importctypespBuf=ctypes.cdll.msvcrt.malloc(nBufSize)#wrotesomethingintothebuffer如何使用Python2.5将缓冲区的内容保存到文件中?您可能已经知道,这是行不通的,给出TypeError:argument1mustbestringorread-onlybuffer,notint:f=open("out.data","wb"f.write(pBuf) 最佳答案 也许用ctypes.create_string_buffer()分配缓冲区会更好而不

sql-server - tiny_tds 在第二次执行时失败

今天,tiny_tds突然不接受多个execute并返回:C:\>rubytest_use.rbonetwoC:/test_use.rb:15:in`execute':AttempttoinitiateanewAdaptiveServeroperationwithresultspending(TinyTds::Error)fromC:/test_use.rb:15代码就是三个USE:require'rubygems'require'yaml'require'fastercsv'require'tiny_tds'require'iconv'CONFIG=YAML.load_file("c