我在Python中实现了一个socket
,在同一台机器上运行的两个脚本之间来回传递数据,作为单个Tkinter应用程序的一部分。你知道吗
在许多情况下,这些数据是高度敏感的(即个人信用卡号)。你知道吗
以这种方式在脚本之间传递数据是否会给我带来任何安全隐患?
服务器端:
import socket
serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
serversocket.bind(('localhost', 8089))
serversocket.listen(5) # become a server socket, maximum 5 connections
while True:
connection, address = serversocket.accept()
buf = connection.recv(64)
if len(buf) > 0:
print buf
break
客户端:
import socket
clientsocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
clientsocket.connect(('localhost', 8089))
clientsocket.send('hello')
其他注意事项:
multiprocessing
或threading
;请不要建议使用其中一种或替代品,除了socket
的品种。有关原因的更多信息,请参见SO question, answers, and comments。这与需要在windows7和*nix上运行以及我想要的设置有关。你知道吗
是的,以这种方式在脚本之间传递数据可能会引起安全问题。如果攻击者可以访问同一台机器,那么他可以使用tcpdump之类的工具轻松地嗅探流量。你知道吗
为了避免这种情况,你应该加密你的流量-我张贴了一个评论下面你的问题与一个例子解决方案。你知道吗
相关问题 更多 >
编程相关推荐