1. Go to this page and download the library: Download jaaulde/php-ipv4 library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
jaaulde / php-ipv4 example snippets
use \JAAulde\IP\V4 as IPv4;
// Define a whitelist - IPs from this address Block are allowed in
$allowed_client_network = new IPv4\Block('192.168.0.0/24');
// Read the IP address of the current client into an Address instance
$client_address = new IPv4\Address($_SERVER['REMOTE_ADDR']);
// Check that the whitelisted address block contains the current client IP
if ($allowed_client_network->contains($client_address)) {
// Client is on the whitelist, let them in
} else {
// Client is NOT on the whitelist, deny access
}
use \JAAulde\IP\V4 as IPv4;
try {
// The Address constructor will fail if first parameter is not in correct format, so
// form validation is as simple as trying to create instances with the POSted data
$first_address = new IPv4\Address($_POST['first_address']);
$last_address = new IPv4\Address($_POST['last_address']);
// The Range constructor will fail if the addresses are not properly ordered, so form validation
// is as simple as trying to create an instance with the previously created Address instances
$blacklisted_range = new IPv4\Range($first_address, $last_address);
} catch (Exception) {
// Invalid data POSTed, take user back to form with error info
exit();
}
use \JAAulde\IP\V4 as IPv4;
$client_address = new IPv4\Address($_SERVER['REMOTE_ADDR']);
$query = sprintf(
'SELECT COUNT(*) FROM `ip_range_blocks` WHERE %s BETWEEN `first_address` AND `last_address`;',
$client_address->get()
);
use \JAAulde\IP\V4 as IPv4;
// The same form validation note from the previous example still stands
$blacklisted_network_block = new IPv4\Block($_POST['address'], $_POST['mask']);
$query = sprintf(
'INSERT INTO `ip_range_blocks` (`first_address`, `last_address`) VALUES (%s, %s);',
$blacklisted_network_block->getNetworkAddress()->get(),
$blacklisted_network_block->getBroadcastAddress()->get()
);
bash
$ composer
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.