Google搜索结果显示我的网页为(ip)/mypage.html而不是https://www.mydomain.com/mypage.html.我相信解决方案是将ip重定向到域.我发现了很多非常类似的方法,但是没有一个能为我工作.我有一个将http重定向到https的现有规则.这就是我的.htaccess文件目前的样子:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^11\.11\.11\.111$ [NC]
RewriteCond %{SERVER_PORT} 80
RewriteCond %{HTTP_HOST} ^([a-z.]+)?mydomain\.com$ [NC]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.mydomain.com/$1 [R=301,L]
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我正在尝试编写一个函数,它将一个IP address参数作为参数并在我的本地网络上查询该机器MAC address.
我已经看到了许多获得本地计算机自己的示例MAC address,但是没有(我发现)似乎在查询本地网络计算机.
我知道这样的任务是可以实现的,因为这种Wake on LAN扫描软件扫描本地IP范围并返回所有机器上的MAC地址/主机名.
谁能告诉我在哪里开始尝试编写一个函数来实现C#中的这个功能?任何帮助,将不胜感激.谢谢
编辑:
根据Marco Mp在下面的评论,使用了ARP表. arp班
我是一个主要的,所谓的"顶级名单"的创始人.用户可以通过获得他们的顶级参赛者的投票,将他们的网站提交到顶级名单并获得更高的位置.
普通游客年轻,主要在13-20岁之间.它们带来了好处,但也有缺点.在过去的5年里,我一直在积极打击那些使用机器人获得选票的"骗子".这些机器人使用代理,不同的用户代理,甚至设法解决多种CAPTCHA问题(reCAPTCHA,SolveMedia和自定义验证码).自从我引入了一个随机布局的新系统并在每个页面加载时加载15个不同的CAPTCHA系统中的1个以来,这些机器人的使用已大大减少.它似乎不再是一个问题.
人们现在已经开始进行手工作弊.他们使用的浏览器插件几乎可以在每个页面加载时更改其IP地址(例如:https://addons.mozilla.org/en-us/firefox/addon/ipflood/).我真的似乎无法找到解决这个问题的方法,但这是一个非常大的问题.很难相信,但这些孩子甚至手动解决5000个验证码问题,这需要很长时间.
我的问题是,有人能帮我想办法解决这个问题吗?我一直在使用cookie和会话设置,但他们已经开始注意并删除它们.我将介绍用户帐户,并通过帐户投票更有趣,但我不想要帐户.我怀疑是否存在,但还有其他方法可以打击作弊(可能就像一个Java网络应用程序,如果可能的话,它会逃避浏览器设置的代理并将真正的IP传递给页面?)?或者我应该放弃并雇用人员进行日常检查,以确定该网站是否有可能获得如此多的选票?
我有兴趣在我的Web应用程序上实现一个功能,该功能会在用户上次访问后发生可疑登录时向用户发出警告.
我的膝盖反应是使用客户端的IP地址,但经过我的研究后,这似乎是一个糟糕的主意.动态分配和NAT表明这不可靠.
我的第二个想法是使用地理定位服务.但我能找到的是基于IP或在我的价格范围之外.
我的第三个想法是实现类似Facebook的"注册此设备"提示,但我不确定它是如何以可靠的方式工作的.
有没有人对如何以合理的置信度识别设备或位置有任何想法?
我正在开发一个服务器,通过TCP/IP托管第三方设备,并且遇到突然的连接丢失(设备通过蜂窝连接).我需要找到一种方法来检测断开连接,而无需将数据写入设备本身.
我已经看过使用TCP keepalive功能,但Java似乎不允许任何调整keepalive操作的时间.
这样做有什么建议的方法吗?
我的简化套接字代码如下:
public class Test2Socket {
public static void main(String[] args) {
try {
ServerSocket skt = new ServerSocket(1111);
Socket clientSocket = skt.accept();
clientSocket.setKeepAlive(true);
System.out.println("Connected..");
BufferedReader input = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
String inputLine;
while((inputLine = input.readLine()) != null)
{
System.out.println(inputLine);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
Run Code Online (Sandbox Code Playgroud)
任何反馈将不胜感激.
我为我的Heroku应用设置了两个自定义域名.
example.com example.com.herokudns.com
*.example.com wildcard.example.com.herokudns.com
Run Code Online (Sandbox Code Playgroud)
我按如下方式配置了域名:
我添加了一个指向的CNAME记录.工作良好.*wildcard.example.com.herokudns.com
我URL使用GoDaddy的域转发工具转发,因为我只能将IP地址指定为A记录.
域转发指向example.com.herokudns.com.不幸的是,GoDaddy会自动添加http://,因此它实际上无法打开我的应用程序,而是显示一条Heroku消息:
这里什么也没有.
设置我的GoDaddy根域以指向我的Heroku应用程序.
注意: GoDaddy会自动添加指向的A记录@>>++FWD1++<<
我正在编写一个perl脚本来比较使用perls按位AND运算符的两个IP地址.但我得到了一些非常时髦的结果.我是perl的新手所以也许有人可以给我一些指示.
继承我的小脚本:
#!/usr/bin/perl
$address = "172.34.12.0";
$address2 = "255.255.255.0";
@octets = split (/\./,$address);
@octets2 = split (/\./,$address2);
#Funky results when doing a bitwise AND
#This outputs "050 24 00 0" What's going on here?
print $octets[0] & $octets2[0], "\n";
print $octets[1] & $octets2[1], "\n";
print $octets[2] & $octets2[2], "\n";
print $octets[3] & $octets2[3], "\n";
#Results are what I want when doing it as literals
#This outputs "172 34 12 0"
print 172 & 255, "\n";
print 34 & 255, "\n"; …Run Code Online (Sandbox Code Playgroud) 我试图获取我的设备的IP地址,但都是徒劳的,没有成功.我试过了
public String getP2PIpAddr() {
WifiManager wifiManager = (WifiManager) getSystemService(WIFI_P2P_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
int ip = wifiInfo.getIpAddress();
String ipString = String.format(
"%d.%d.%d.%d",
(ip & 0xff),
(ip >> 8 & 0xff),
(ip >> 16 & 0xff),
(ip >> 24 & 0xff));
return ipString;
}
Run Code Online (Sandbox Code Playgroud)
但它给我0.0.0.0,没有其他方法也工作..帮助!!
我不熟悉Unix网络,添加虚拟接口等,现在尝试学习它.我们正试图将我们的应用程序停靠.
我的要求是:将ip分配给可从外部应用程序/浏览器访问的docker容器.
容器ip应该可以从同一网络中的不同计算机ping通.我不想使用端口转发.
我想访问一个docker容器,就像我们使用ip地址访问VM一样.[没有端口映射,-p标志.如果我在容器内运行Apache或Tomcat之类的任何服务器,则应使用容器ip和端口访问它.例如:http:// container_ip:8443]
在docker中这可能吗?
在我的Unix机器上运行ifconfig(RHEL 7.1)显示docker0,ens,lo和veth接口.没有eth0.有点困惑.
我在Linux机器上通过C中的原始套接字发送一些ping数据包.
int sock_fd = socket(AF_INET, SOCK_RAW, IPPROTO_RAW);
Run Code Online (Sandbox Code Playgroud)
这意味着我在写入套接字时指定了IP包头(IP_HDRINCL隐含).
写入套接字send失败,告诉我需要指定一个地址.
如果我使用sendto那么它的工作原理.对于sendto我必须指定一个sockaddr_in结构来使用,其中包括场sin_family,sin_port和sin_addr.
但是,我注意到了一些事情:
sin_family是AF_INET-创建插座时已经指定. sin_port自然是未使用的(端口不是IP的概念).sin_addr指定1.1.1.1)都无关紧要.似乎没有一个额外的字段在sendto很大程度上实际使用.那么,是否存在技术原因导致我必须使用sendto而send不仅仅是API中的疏忽?
ip ×10
java ×3
dns ×2
php ×2
port ×2
sockets ×2
.htaccess ×1
android ×1
c ×1
c# ×1
containers ×1
docker ×1
heroku ×1
javascript ×1
linux ×1
mac-address ×1
parsing ×1
perl ×1
public ×1
raw-sockets ×1
redirect ×1
tcp ×1
url ×1
wifi-direct ×1