205 lines
6.8 KiB
PHP
205 lines
6.8 KiB
PHP
<?php
|
|
require_once("../class/config.php");
|
|
include_once("head.php");
|
|
|
|
|
|
$fields = array (
|
|
"delete_id" => array ("get", "integer", ""),
|
|
"delete_affected_id" => array ("get", "integer", ""),
|
|
"id" => array ("post", "integer", 0),
|
|
"ipsub" => array ("post", "string", ""),
|
|
"infos" => array ("post", "string" ,""),
|
|
"s_ipsub" => array ("post", "integer", ""),
|
|
"s_protocol" => array ("post", "string", ""),
|
|
);
|
|
getFields($fields);
|
|
|
|
if (!empty($s_protocol)) {
|
|
$val="s_affect_".$s_protocol;
|
|
$fields = array( $val => Array('post','string', '') );
|
|
getFields($fields);
|
|
|
|
if (! $authip->ip_affected_save($s_ipsub, $s_protocol, $$val) ) {
|
|
$error="Error during ip_affected_save";
|
|
}
|
|
}
|
|
|
|
if (!empty($delete_affected_id)) {
|
|
if (! $authip->ip_affected_delete($delete_affected_id)) {
|
|
$error="Error during deletion";
|
|
}
|
|
}
|
|
|
|
if (!empty($delete_id)) {
|
|
if (! $authip->ip_delete($delete_id)) {
|
|
$error="Error during deletion";
|
|
}
|
|
}
|
|
|
|
if (!empty($ipsub)) {
|
|
if (! $authip->ip_save($id, $ipsub, $infos)) {
|
|
$error="Error during recording";
|
|
}
|
|
}
|
|
|
|
$list_ip = $authip->list_ip();
|
|
$ac = $authip->get_auth_class();
|
|
$lac = $authip->list_affected();
|
|
?>
|
|
|
|
<h3><?php __("Access security"); ?></h3>
|
|
<hr id="topbar"/>
|
|
<br />
|
|
|
|
<?php if (isset($error) && $error) { ?>
|
|
<p class="error"><?php echo $error ?></p>
|
|
<?php } ?>
|
|
|
|
<h3><?php __("Enabled rules"); ?></h3>
|
|
|
|
<table class="tlist">
|
|
<tr>
|
|
<th><?php __("Protocol");?></th>
|
|
<th><?php __("Target");?></th>
|
|
<th><?php __("IP address");?></th>
|
|
</tr>
|
|
<?php
|
|
$col=1;
|
|
foreach ($lac as $ll) {
|
|
$col=3-$col;
|
|
echo "<tr class='lst$col' >";
|
|
echo "<td>".$ac[$ll['protocol']]['name']."</td>";
|
|
echo "<td>".$ac[$ll['protocol']]['values'][$ll['parameters']]."</td>";
|
|
echo "<td>".$list_ip[$ll['authorised_ip_id']]['infos']."<br/>".$list_ip[$ll['authorised_ip_id']]['ip_human']."</td>"; ?>
|
|
<td><div class="ina"><a href="ip_main.php?delete_affected_id=<?php echo urlencode($ll["id"]) ?>"><img src="images/delete.png" alt="<?php __("Delete")?>" /><?php __("Delete"); ?></a></div></td>
|
|
<?php
|
|
echo "</tr>";
|
|
}
|
|
?>
|
|
</table>
|
|
</p>
|
|
|
|
<hr/>
|
|
<h3><?php __("Add a new rule"); ?></h3>
|
|
<form method="post" action="ip_main.php" name="main" id="main">
|
|
<table class="tlist">
|
|
<thead>
|
|
<th><?php __("Target"); ?></th>
|
|
<th><?php __("IP address (or subnet)"); ?></th>
|
|
<td/>
|
|
</thead>
|
|
<tbody>
|
|
<tr valign="top">
|
|
<td>
|
|
<?php foreach ($ac as $a) { ?>
|
|
<p>
|
|
<input type="radio" name="s_protocol" id="s_protocol_<?php echo htmlentities($a['protocol']);?>" value="<?php echo htmlentities($a['protocol']);?>" />
|
|
<label for="s_protocol_<?php echo htmlentities($a['protocol']);?>"><?php echo htmlentities($a['name']); ?></label>
|
|
|
|
<?php if ( sizeof($a['values']) > 1 ) { ?>
|
|
<select name="s_affect_<?php echo htmlentities($a['protocol']);?>" id="s_affect_<?php echo htmlentities($a['protocol']);?>">
|
|
<?php foreach ($a['values'] as $k => $v) { ?>
|
|
<option value="<?php echo htmlentities($k); ?>"><?php echo htmlentities($v); ?></option>
|
|
<?php } ?>
|
|
</select>
|
|
<?php } else { ?>
|
|
<?php foreach ($a['values'] as $k => $v) { ?>
|
|
<label><b><?php echo htmlentities($v); ?></b></label>
|
|
<input type=hidden name="s_affect_<?php echo htmlentities($a['protocol']);?>" id="s_affect_<?php echo htmlentities($a['protocol']);?>" value="<?php echo htmlentities($k); ?>" readonly>
|
|
<?php } ?>
|
|
<?php } ?>
|
|
</p>
|
|
<?php } ?>
|
|
</td><td valign="middle">
|
|
<p>
|
|
<select name="s_ipsub">
|
|
<?php foreach ($list_ip as $li) { ?>
|
|
<option value="<?php echo $li['id']; ?>"><?php echo htmlentities($li['infos']); echo " - ".$li['ip'] ; if (!($li['subnet']==32 || $li['subnet'] == 128)) echo "/".$li['subnet'];?></option>
|
|
<?php } ?>
|
|
</select>
|
|
</p>
|
|
</td>
|
|
<td valign=middle>
|
|
<input type="submit" class="inb" value="<?php __("Save")?>" />
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</form>
|
|
|
|
<hr/>
|
|
<h3><?php __("Know IP and networks");?></h3>
|
|
<table class="tlist">
|
|
<tr>
|
|
<td valign=top width=40%>
|
|
<table>
|
|
<tr><th><?php __("Type"); ?></th><th><?php __("IP"); ?></th><th><?php __("Informations"); ?></th><th colspan=2/></tr>
|
|
<?php
|
|
$col=1;
|
|
foreach($list_ip as $i) {
|
|
$col=3-$col;
|
|
if (checkip($i['ip'])) {
|
|
if ($i['subnet']==32) {
|
|
$txt="Address IPv4";
|
|
} else {
|
|
$txt="Subnet IPv4";
|
|
}
|
|
} elseif (checkipv6($i['ip'])) {
|
|
if ($i['subnet']==128) {
|
|
$txt="Address IPv6";
|
|
} else {
|
|
$txt="Subnet IPv6";
|
|
}
|
|
}
|
|
echo "<tr class='lst$col' ><td>$txt</td><td>{$i['ip_human']}</td><td>{$i['infos']}</td>";
|
|
?>
|
|
<td><div class="ina"><a href="javascript:edit_ip(<?php echo "'".htmlentities($i['id'])."','".htmlentities($i['ip_human'])."','".htmlentities($i['infos'])."'"; ?>);"><img src="images/edit.png" alt="<?php __("Edit"); ?>" /><?php __("Edit"); ?></a></div></td>
|
|
<td><div class="ina"><a href="ip_main.php?delete_id=<?php echo urlencode($i["id"]) ?>"><img src="images/delete.png" alt="<?php __("Delete"); ?>" /><?php __("Delete"); ?></a></div></td>
|
|
</tr>
|
|
|
|
<?php } ?>
|
|
</table>
|
|
</td>
|
|
<td valign=top width=40%>
|
|
<fieldset>
|
|
<legend><?php __("Add an IP");?> - <a href="javascript:edit_ip('','<?php echo htmlentities($_SERVER['REMOTE_ADDR'])."','Home IP'";?>);" ><?php echo __("Add my current IP"); ?></a></legend>
|
|
<span id="form_add_ip">
|
|
<form method="post" action="ip_main.php" name="main" id="main">
|
|
<p id="reset_edit_ip" style="display:none;"><a href="javascript:reset_edit_ip();"><?php __("Cancel edit")?></a></p>
|
|
<input type="hidden" name="id" value="" id="edit_id" >
|
|
<p>
|
|
<?php __("Enter here the IP address you want. <br/> <i>IPv4, IPv6 and subnet allowed</i>"); ?> <br/>
|
|
<input type="text" size=20 maxlength=39 name="ipsub" id="edit_ip" />
|
|
</p>
|
|
<p>
|
|
<?php __("Add a comment");?><br/>
|
|
<input type="text" size=25 maxlength=200 name="infos" id="edit_infos" />
|
|
</p>
|
|
<input type="submit" class="inb" value="<?php __("Save")?>" />
|
|
</form>
|
|
</span>
|
|
</fieldset>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<script type="text/javascript">
|
|
function reset_edit_ip() {
|
|
$("#reset_edit_ip").hide();
|
|
$("#edit_id").val('');
|
|
$("#edit_ip").val('');
|
|
$("#edit_infos").val('');
|
|
}
|
|
|
|
function edit_ip(id, iph, infos) {
|
|
if ( id != '' ) {
|
|
$("#reset_edit_ip").show();
|
|
}
|
|
$("#edit_id").val(id);
|
|
$("#edit_infos").val(infos);
|
|
$("#edit_ip").val(iph);
|
|
}
|
|
|
|
</script>
|
|
<?php include_once("foot.php"); ?>
|