servnest/reg/glue.php

80 lines
2.3 KiB
PHP
Raw Normal View History

2021-01-22 21:58:46 +01:00
<?php require "../top.inc.php"; ?>
2021-02-17 22:48:49 +01:00
<form method="post">
<label for="action">Action</label>
<select name="action" id="action">
<option value="add">Ajouter</option>
<option value="delete">Retirer</option>
</select>
<fieldset>
<legend>Domaine</legend>
2021-08-05 02:54:12 +02:00
<div class="elForm">
<label for="subdomain">Sous-domaine</label>
<br>
<input required="" id="subdomain" placeholder="ns1" name="subdomain" type="text">
</div>
<div class="elForm">
<label for="suffix">Domaine</label>
<br>
<select required="" name="suffix" id="suffix">
<option value="" disabled="" selected="">---</option>
2021-02-18 22:40:16 +01:00
2021-08-05 02:54:12 +02:00
<?php
2021-02-18 22:40:16 +01:00
2021-08-05 02:54:12 +02:00
$suffixes = regListUserDomains($_SESSION['username']);
2021-02-18 22:40:16 +01:00
2021-08-05 02:54:12 +02:00
if ($suffixes) {
foreach($suffixes as $suffix) {
echo "<option value='" . $suffix . "'>." . $suffix . "</option>";
}
}
2021-02-18 22:40:16 +01:00
2021-08-05 02:54:12 +02:00
?>
</select>
</div>
</fieldset>
2021-02-17 22:48:49 +01:00
<label for="ip">IP</label><br>
<input required="" pattern="^[a-f0-9:.]+$" id="ip" name="ip" minlength="7" maxlength="39" size="40" type="text" placeholder="<?= IPV4_EXAMPLE ?> ou <?= IPV6_EXAMPLE ?>">
2021-02-17 22:48:49 +01:00
<br>
<input value="Valider" type="submit">
</form>
<?php
2021-08-05 14:04:33 +02:00
if (isset($_POST['action']) AND isset($_POST['subdomain']) AND isset($_POST['suffix']) AND isset($_POST['ip']) AND isset($_SESSION['username'])) {
antiCSRF();
2021-02-17 22:48:49 +01:00
if (!$suffixes)
2021-02-18 22:40:16 +01:00
exit("ERROR : You don't own any domain");
if (!in_array($_POST['suffix'], $suffixes))
exit("ERROR : You don't own this suffix");
2021-02-18 22:40:16 +01:00
$domain = $_POST['subdomain'] . "." . $_POST['suffix'];
checkAbsoluteDomainFormat($domain);
2021-02-17 22:48:49 +01:00
checkIpFormat($_POST['ip']);
if (filter_var($_POST['ip'], FILTER_VALIDATE_IP, FILTER_FLAG_IPV4))
$record = "A";
else if (filter_var($_POST['ip'], FILTER_VALIDATE_IP, FILTER_FLAG_IPV6))
$record = "AAAA";
else
exit("Unknown error about IP format");
2021-03-02 22:56:38 +01:00
$action = checkAction($_POST['action']);
2021-02-17 22:48:49 +01:00
$publicSuffix = regGetUpperDomain($_POST['suffix']);
2021-02-18 22:40:16 +01:00
exec(KNOTC_PATH . " zone-begin " . $publicSuffix);
2021-10-03 18:08:37 +02:00
exec(KNOTC_PATH . " zone-" . $action . "set " . $publicSuffix . " " . $domain . " 86400 IN " . $record . " " . $_POST['ip']);
exec(KNOTC_PATH . " zone-commit " . $publicSuffix);
2021-02-17 22:48:49 +01:00
echo "Glue record ajouté";
}
?>
2021-01-22 21:58:46 +01:00
<?php require "../bottom.inc.php"; ?>