我使用$ _SERVER ['REMOTE_ADDR']并返回客户端IP地址(用户正在查看当前页面的IP地址),但是现在(和相同的代码)它返回主机IP地址(我检查了ip地址和ip位置) .问题是主机还是什么?感谢你.
我有一个课程项目,我想提出一些网络的东西.我很有可能在一台计算机上完成它.所以我的问题是,如何在tcp/ip或tcp/udp之间显示通信?我不是网络专家,我理解发送红色数据的概念.我想我需要两个IP地址.
有没有办法只回显来自Bash的服务器ip地址?我在Linux/Debian6上.
我的意图是为我在服务器中注册的每个新域写入"/ etc/hosts"对domain_name IP.
由于这个bash脚本将打开供公众使用,我试图找到一种通过cli获取此信息的方法.
结论:
这是最终的代码,基于我的朋友帮助我的线索:
newhost() {
DMN=$1
X=`ifconfig | grep Bcast`
Y=`echo "${X#*:}"`
DNS=`echo "${Y%\ B*}"` # server DNS(207.112.37.222)
H='/etc/hosts' #hostfile
PAIR="$DNS\t$DMN"
if grep -i --silent "$DMN" "$H"; then
echo -e "$DMN already exists in $H"
else
bash <<EOF
echo -e "$PAIR" >> "$H"
EOF
echo -e "$PAIR added to $H"
fi
}
Run Code Online (Sandbox Code Playgroud)
顺便说一句,一些天生就已经聪明的家伙投票结束这个问题,这不是很有趣吗?
谢谢.
我有一个数据库,里面有一个名为'IP'的表.它有2列Id(int11)和ip(varchar15),并与值的行:id 1, ip 127.0.0.1
现在回到PHP我有以下内容:
$ip = $_SERVER['REMOTE_ADDR'];
$query = "SELECT * FROM ip WHERE ip='$ip'";
if(mysql_query($query)) {
echo "Ip is already in database";
}
else {
echo "Ip is not in database";
}
Run Code Online (Sandbox Code Playgroud)
现在我遇到的问题是如果我改变IP说if-statement仍然变为TRUE: 125.0.0.1
我一直试图将它修复2个小时,但仍然无法弄清楚我做错了什么.
我正在尝试创建一个网络调查问卷,但我不希望同一个人使用相同的IP在一小时内提交不止一次,我使用PHP,我认为我需要
$_SERVER['REMOTE_ADDR']用来获取客户端IP和存储在会话或数据库中,然后使用它来比较新的IP,我不知道它是否正确,不知道如何在PHP中精确实现这一点,任何人都可以帮助我,提前感谢!
我有一个ipv6范围,但我不知道如何检测$ _SERVER ['REMOTE_ADDRESS']是否在ipv6范围内?需要帮忙.谢谢
我想把我的网页放到维护中,所以我用这个替换原来的htaccess文件:
ErrorDocument 403 /maintenance/maintenance.php
order deny,allow
deny from all
allow from 111.222.333.444
Run Code Online (Sandbox Code Playgroud)
在发布之前已经阅读了很多线程,这是我收集的将是正确的解决方案,但我不能让它工作.如果我不允许使用我自己的IP,我会收到错误500(这意味着我的访问者会看到),如果我使用我的IP,我会得到错误403(我甚至没有到达我的维护页面,这就是我也不允许在那里).
我在这做错了什么?提前致谢.
我想通过SSH将一些文件从我的Mac传输到我的Raspberry Pi,但是当我尝试在lx终端中使用ifconfig命令找到Raspberry Pi的IP地址时,每个人都说的行告诉你IP地址不存在! ,它刚刚消失.我的终端看起来像这样:
eth0 Link encap:Ethernet HWaddr b8:27:eb:63:40:b8
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:27224 errors:0 dropped:0 overruns:0 frame:0
TX packets:733 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2801074 (2.6 MiB) TX bytes:107019 (104.5 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Run Code Online (Sandbox Code Playgroud)
因为这不是我实际的Raspberry Pi,所以请不要从中扣除.只是因为我无法从Raspberry Pi传输文件,我无法获得实际文本的副本.
很抱歉代码搞砸了,它看起来就像这个网站:http: //learn.adafruit.com/adafruits-raspberry-pi-lesson-3-network-setup/finding-your-pis-ip-address
除了没有第2行的ethO.
例:
xxx.xxx.xxx.xxx是IP地址格式,我只想获取前三个段(带点):xxx.xxx.xxx。
另一个例子:
192.168.0.160,我只需要192.168.0。
我想在一个步骤中在网络命名空间中运行一系列连接的bash命令,但似乎ip netns exec mynetns只需要一个bash命令作为参数.例如:
ip netns exec mynetns ip a
Run Code Online (Sandbox Code Playgroud)
......按预期工作.
ip netns exec mynetns "ip a ; ip a"
Run Code Online (Sandbox Code Playgroud)
...回报exec of "ip a" failed: No such file or directory.
显然,
ip netns exec mynetns ip a ; ip a
Run Code Online (Sandbox Code Playgroud)
...将返回网络命名空间和主机上的接口.
有没有办法让它发挥作用?
该手册只谈论一个命令,这是不是一个非常好的迹象...