nodejs如何检查哪个IP访问80端口

JavaScript016

nodejs如何检查哪个IP访问80端口,第1张

由于linux的系统限制,普通用户是无法打开1024以下端口的,这里面就包括http的默认端口80,这就使得很多用户使用root权限来执行node,这带来了不可预计的安全问题,所以这并不是一个好办法。

其实我们可以使用iptables的端口转发功能来解决这个问题:

1,首先将node的主程序绑定到高于1024端口,比如8090,这样普通用户就可以启动这个http server了,只不过不是在默认的80端口上监听;

2,配置iptables将80端口转发到8090上,如下命令:

#iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8090

该命令的意思就是在iptable中添加一条端口转发规则,如果删除该规则,重新绑定,则先查找出:

#iptables --line-numbers --list PREROUTING -t nat

然后使用行号删除:

#iptables -t nat -D PREROUTING 行号

3,记得添加8090端口到iptables的INPUT ACCEPT规则中

#iptables -I INPUT -p tcp --dport 8090 -j ACCEPT

4,第2步和第3步添加的这些规则,都是临时性的,重启服务器之后就无效了,所以需要保存起来

#/sbin/service iptables save

端口转发配置完成

————————————————

版权声明:本文为CSDN博主「newborn2012」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/newborn2012/article/details/23860687

方法 步骤如下:

打开开发工具。比如editplus、dw等

新建一个html文件,写入脚本标签

<script language="javascript" type="text/javascript">

<!--

//-->

</script>

js代码必须写入好改标签中。

3.想要获取web的主机名和端口号就必须使用window下的location对象的属性才行的。

4.获取主机域名:

location.hostname

获取端口号

location.port

具体实现的代码:

function f1(){

alert(window.location.hostname)

alert(window.location.port)

}

$id=$_POST["itm"]

$sql="update vote set count=count+1 where id=$id"

if(mysql_query($sql))

{

$_SESSION["vote"]=session_id()

?>

<script language="javascript">alert("投票成功,点确定查看结

果")location.href="index.php?id=ck"</script>