相关疑难解决方法(0)

没有防火墙弹出的localhost连接

考虑以下R脚本:

con <- socketConnection(host = "localhost", port = 8, server = TRUE, blocking = TRUE, open = "a+b")
close(con = con)
Run Code Online (Sandbox Code Playgroud)

将这些行保存为.R文件,然后从命令行运行它会产生(在Windows上)防火墙警告.至少,如果在第一次出现的"高级安全Windows防火墙"下没有R规则.我被告知在Mac上发生同样的情况,但我自己也无法验证.如何更改以允许localhost环回但避免弹出窗口?

上下文:我为使用并行处理的人(在一台本地机器上)编写了一些代码.然而,这个警告突然出现在他们的屏幕上,他们开始怀疑.愚蠢的是,即使人们点击否或忽略弹出窗口,并行处理似乎仍然有效.我认为这是一个迹象,表明可以修改此代码,以便不提供此弹出窗口并仍然可以正常运行.

我已经看到了在其他语言非常类似的问题(1,2,3),我想知道是否有可能做R.相同

Windows 10防火墙首次提示示例:

在此输入图像描述

r localhost loopback-address

14
推荐指数
4
解决办法
1677
查看次数

避免使用localhost上的套接字弹出Windows防火墙

我编写了一个简单的Java应用程序,它使用套接字与自身的多个实例进行交互.第一个实例自动承担服务器的角色,侦听特定端口,并且所有后续实例都连接到它.

我遇到的问题是Windows防火墙弹出询问我是否要取消阻止该程序"接受传入的网络连接".问题是:如果您将应用程序阻止,则无关紧要,因为应用程序的实例始终位于同一台计算机上,因此它始终有效.

我的问题是:我能否以某种方式告知Windows我甚至不希望接受传入的网络连接?

java sockets firewall client-server localhost

13
推荐指数
1
解决办法
4228
查看次数

如何确定传入连接来自本地计算机

我有一个SocketServer接受传入的连接.出于安全原因,我应该只允许本地连接(来自运行服务器的计算机的连接).

如何确定传入连接是否来自其他计算机?以下代码是否安全?

Socket socket = someServerSocket.accept();
String remoteAddress = socket .getInetAddress().getHostAddress();
if (!fromThisMachine(remoteAddress)) {
    // Not from this machine.
}
Run Code Online (Sandbox Code Playgroud)

虽然fromThisMachine()方法是这样的:

public boolean fromThisMachine(String remoteAddress) {
    try {
        Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();
        while (interfaces.hasMoreElements()) {
            NetworkInterface networkInterface = interfaces.nextElement();
            Enumeration<InetAddress> addresses = networkInterface.getInetAddresses();
            while (addresses.hasMoreElements()) {
                InetAddress inetAddress = addresses.nextElement();
                String hostName = inetAddress.getHostName();
                String hostAddr = inetAddress.getHostAddress();
                if (hostName.equals(remoteAddress) || hostAddr.equals(remoteAddress)) {
                    return true;
                }
            }
        }
    } catch (Exception e) {
        e.printStackTrace();
        return false;
    }
    log("Unauthorized …
Run Code Online (Sandbox Code Playgroud)

java sockets networking network-programming

8
推荐指数
2
解决办法
6804
查看次数