我在WINDOWS NT的机器上做了一个服务器端的命名管道。我的问题是:1。有没有方法在不被告知服务器命名管道名称的时候得到相关信息然后连接到服务器并传输数据。
2。如何保护我的命名管道不被不明身份的客戶端程序或者其他程序登陆。命名管道是否有验证用户的能力。
3。如果已经被不明客户端连接,如何区分客户端,在未传输数据前断开不明IP的连接。谁能帮我回答一下。谢谢

解决方案 »

  1.   

    2.命名管道只提供一种通信机制,和用户验证不靠谱。问自己一下,Socket是安全的吗?
    3.同2,安全机制需要自己构造,需要在数据开始传输之前验证用户的签名听听楼下的
      

  2.   

    我感觉因该是既然知道管道名就表示你有权限连接了,windows将允许在两个进程间可以直接通信了,不再需要别的身份验证了 。如果你不想让别人连接可以把管道名取得复杂一点,也可以自己再通信时加入验证机制。
      

  3.   

    管道只是通信机制,安全可以自己实现。就比如socket一样,在上面架一层就成安全socket了
      

  4.   

    反对性的顶一下!
    命名管道是可以实现安全机制的,CreateNamedPipe()里面有个security_attribute属性,可以单独设置管道的相应权限!申明一下,我是刚开始接触管道,知之不多,如有错误,请批评指正!
    另:本人刚开始研究网络通信,希望能结交高手前辈朋友!请你们留个联系方式,互相学习!