83 lines
2.4 KiB
PHP
83 lines
2.4 KiB
PHP
<?php include "../top.inc.php"; ?>
|
|
|
|
<form method="post">
|
|
<label for="action">Action</label>
|
|
<select name="action" id="action">
|
|
<option value="add">Ajouter</option>
|
|
<option value="delete">Retirer</option>
|
|
</select>
|
|
<br>
|
|
<label for="zone">Zone</label>
|
|
<br>
|
|
<select required="" name="zone" id="zone">
|
|
<option value="" disabled="" selected="">---</option>
|
|
|
|
<?php
|
|
$zones = listUserZones($_SESSION['username']);
|
|
|
|
foreach ($zones as $zone) {
|
|
echo "<option value='" . $zone . "'>" . $zone . "</option>";
|
|
}
|
|
?>
|
|
</select>
|
|
<br>
|
|
<?php require "../inc/html/ttl.ns.inc.php"; ?>
|
|
<br>
|
|
<label for="domain">Domaine</label>
|
|
<br>
|
|
<input id="domain" placeholder="monsite.atope.art." name="domain" type="text">
|
|
<br>
|
|
<label for="flag">Flag</label>
|
|
<br>
|
|
<input id="flag" min="0" max="127" placeholder="0" name="flag" type="number">
|
|
<br>
|
|
<label for="tag">Tag</label>
|
|
<br>
|
|
<input id="tag" minlenght="1" maxlength="128" pattern="^[a-z]{1,128}$" placeholder="issue" name="tag" type="text">
|
|
<br>
|
|
<label for="value">Valeur</label>
|
|
<br>
|
|
<input id="value" minlenght="3" maxlength="1024" pattern="^[a-z0-9.-]{3,1024}$" placeholder="letsencrypt.org" name="value" type="text">
|
|
<br>
|
|
<input value="Valider" type="submit">
|
|
</form>
|
|
|
|
<?php
|
|
|
|
if (
|
|
isset($_POST['zone'])
|
|
AND isset($_POST['domain'])
|
|
AND isset($_POST['ttl-value'])
|
|
AND isset($_POST['ttl-multiplier'])
|
|
AND isset($_POST['action'])
|
|
AND isset($_POST['flag'])
|
|
AND isset($_POST['tag'])
|
|
AND isset($_POST['value'])
|
|
AND isset($_SESSION['username'])
|
|
) {
|
|
|
|
if (!($_POST['flag'] >= 0 AND $_POST['flag'] <= 255))
|
|
exit("ERROR: Wrong value for flag");
|
|
|
|
if (!(preg_match("/^[a-z]{1,127}$/", $_POST['tag'])))
|
|
exit("ERROR: Wrong value for tag");
|
|
|
|
if (!(preg_match("/^[a-z0-9.-]{1,255}$/", $_POST['value'])))
|
|
exit("ERROR: Wrong value for value");
|
|
|
|
nsCheckZonePossession($_POST['zone']);
|
|
checkAbsoluteDomainFormat($_POST['domain']);
|
|
|
|
$action = checkAction($_POST['action']);
|
|
|
|
$ttl = nsTtl($_POST['ttl-value'], $_POST['ttl-multiplier']);
|
|
|
|
exec(KNOTC_PATH . " zone-begin " . $_POST['zone']);
|
|
exec(KNOTC_PATH . " zone-" . $action . "set " . $_POST['zone'] . " " . $_POST['domain'] . " " . $ttl . " IN CAA " . $_POST['flag'] . " " . $_POST['tag'] . " " . $_POST['value']);
|
|
exec(KNOTC_PATH . " zone-commit " . $_POST['zone']);
|
|
echo "Enregistrement ajouté";
|
|
}
|
|
|
|
?>
|
|
|
|
<?php include "../bottom.inc.php"; ?>
|