php安全通信,shell - PHP 与 Linux 主机之间安全通信

想实现的功能是这样:

客户端PHP页面,执行某个任务,比如新建站点,通过某种方式通知 后端的 nc 监听程序,然后执行相关脚本,不如创建ftp账号、新建目录等。

但是,应该怎样才能够通过 php 发消息给 nc 呢?

求教!

以下是php客户端:

$fp = fsockopen ("udp://127.0.0.1",40030,$errno,$errstr,30);

if(!$fp){

echo "$errstr ($errno)

";

}else{

fwrite($fp,"Hello nc");

echo "Success";

fclose($fp);

}

以下是 shell 服务端:

#!/bin/bash

killall 'nc' >/dev/null 2>&1

nc -l -u 40030 | while read Line

do

echo $Line

done

可是为什么不输出呢?

回复内容:

想实现的功能是这样:

客户端PHP页面,执行某个任务,比如新建站点,通过某种方式通知 后端的 nc 监听程序,然后执行相关脚本,不如创建ftp账号、新建目录等。

但是,应该怎样才能够通过 php 发消息给 nc 呢?

求教!

以下是php客户端:

$fp = fsockopen ("udp://127.0.0.1",40030,$errno,$errstr,30);

if(!$fp){

echo "$errstr ($errno)

";

}else{

fwrite($fp,"Hello nc");

echo "Success";

fclose($fp);

}

以下是 shell 服务端:

#!/bin/bash

killall 'nc' >/dev/null 2>&1

nc -l -u 40030 | while read Line

do

echo $Line

done

可是为什么不输出呢?

因为Bash的read命令是 Read a line from the standard input and split it into fields.

所以你需要输出一个换行符:fwrite($fp,"Hello nc\n");

另外为什么你不直接在PHP使用popen执行脚本,干嘛多此一举用nc?你这个nc连接close掉就close掉了。

后端为什么用nc呢,后端也可以用PHP写啊,例如使用workerman这类的服务框架

不知道你在干什么。不过竟然你提到安全了,那么要么别用 UDP,要么自己加验证和完整性检查。特别你竟然用 nc 来处理 UDP,这样消息界限就没了啊。

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值