为什么管道被认为使用起来很危险?可以做些什么来避免这些安全问题?
我对 Windows 最感兴趣,但如果您有其他操作系统信息,请提供。
最佳答案
(假设您从提到“c”和“IPC”开始谈论 Unix 命名管道。Windows 命名管道的工作方式有些不同)
任何有权限的人都可以写入命名管道,所以你必须小心权限和锁定(参见 flock() )。如果应用程序信任它从命名管道获得的输入(通常是这种情况,除非您明确地在其中构建输入验证),那么恶意用户可以在获得许可的情况下将任何需要的数据写入命名管道。
此外,任何具有权限的用户都可以从管道中读取并拦截从管道中传出的数据,如果您没有完全锁定它的话。然后数据从读者期望的输入流中丢失。
关于c++ - 为什么在 Windows/unix/linux 中使用管道被认为是危险的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/192021/