Pav*_*hov 37
long2ip(rand(0, "4294967295"))
Run Code Online (Sandbox Code Playgroud)
Sim*_*imY 21
检查mt_rand函数.
你可能想要运行这个:
<?php
$randIP = "".mt_rand(0,255).".".mt_rand(0,255).".".mt_rand(0,255).".".mt_rand(0,255);
?>
Run Code Online (Sandbox Code Playgroud)
根据这里的一些答案,我决定添加一个答案来纠正一些错误......
mt_rand(int $min, int $max);
Run Code Online (Sandbox Code Playgroud)
一些样本使用此函数,最大值为4294967295。但是这个函数只支持最大值2147483647,实际上是一半。传递更高的数字将返回false。使用此函数而无需传递任何内容也只会给出所需值的一半。所以
long2ip(mt_rand());
Run Code Online (Sandbox Code Playgroud)
将返回最大 ip 127.255.255.255
要拥有全系列,您需要一些类似的东西:
long2ip(mt_rand()+mt_rand());
Run Code Online (Sandbox Code Playgroud)
但即使在此示例中,您也将最大程度地获得255.255.255.254. 因此,要拥有完整的范围,您需要第三个mt_rand().
在简写代码中获得总范围的正确方法是:
$ip = long2ip(mt_rand()+mt_rand()+mt_rand(0,1));
Run Code Online (Sandbox Code Playgroud)
注意使用 + 而不是 *。因为max value*max value会255.255.255.255按预期返回,但获得较低 ip 的机会不再那么好。为了保持使用 * 的好机会,您可以执行以下操作:
$ip = long2ip((mt_rand()*mt_rand(1,2))+mt_rand(0,1));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13982 次 |
| 最近记录: |