我正在try 让一个php端口扫描器正常工作.当我手动输入一个范围时,比方说10到20,它会扫描10到20.但如果我try 使用表单,它从0开始.我想我得到了这里的基本代码,但我不能让它与通过文本框和POST输入的范围一起工作.这是我的代码,是的,我知道它很乱.
<form method="POST" >
Domain/IP:
<input type="text" name="domain" />
<br>Low:
<input type="text" name="low" />
<br>High:
<input type="text" name="high" />
<br>Step:
<input type="text" name="step" />
<br>
<input type="submit" value="Scan" />
</form>
<br />
<?php
set_time_limit(300);
if(!empty($_POST['domain'])) {
$low=intval($_POST['low']);
//$low = $_POST['low'];
//$low = $_GET['low'];
//$low = $_POST['low'] ;
//$_SESSION['low'] = $low;
$high=$_POST['high'];
$step=$_POST['step'];
//list of port numbers to scan
//if(!empty($_POST['low'])){$low = $_POST['low'];}
//if(!empty($_POST['high'])){$high = $_POST['high'];}
//if(!empty($_POST['step'])){$step = $_POST['step'];}
//echo 'low' , $low;
$ports = range($low,$high,$step);
$results = range($low,$high,$step);
foreach($ports as $port) {
if($pf = @fsockopen($_POST['domain'], $port, $err, $err_string, 1)) {
$results[$port] = true;
fclose($pf);
} else {
$results[$port] = false;
}
}
foreach($results as $port=>$val) {
$prot = getservbyport($port,"tcp");
echo "Port $port ($prot): ";
if($val) {
echo "<span style=\"color:green\">OK</span><br/>";
}
else {
echo "<span style=\"color:red\">Inaccessible</span><br/>";
}
}
}
echo $low;
?>
任何帮助都将不胜感激.