Squid konfigurálás PHPből (vagy valamiből)[GIFT]
Csökmei István Péter
csip at euro-oktaeder.hu
2010. Aug. 26., Cs, 06:44:28 CEST
Hello!
Nekünk az egyetemen mikor az OO prognyelvet oktatták volt egy példa, ami nagyon tetszett:
Adott egy automata mosógép. Van rajta 3 gomb. A háziasszony ezt a három gombot tudja csavargatni/nyomogatni.
Ha pl. a vízszint érzékelő szelep telement szappanos trutyival, és a féltöltetkor is teleengedi a gépet vízzel, akkor
azt ne a háziasszony kezdje barkácsolni. Ezt a gyártó, a háziasszony és a szerviz is így akarja.
Ennek szellemében született a squidset szkript.
Ami beállítja php kód:
<?
exec("sudo squidset state",$outstr);
?>
<form name="frminetpolicy" action="chginetpolicy.php" method="post" >
<table width="500" border="3" cellspacing="0" cellpadding="0" bordercolorlight="#000033" bordercolordark="#000033" bordercolor="#E3E3E3">
<tr valign="middle">
<td bgcolor="#000033" height="50" colspan="2">
<p align="center"><b><font face="Arial, Helvetica, sans-serif" size="4" color="#CCCCFF">
Internet jogok be.ll.t.sa </font></b></p>
</td>
</tr>
<tr>
<td bgcolor="#000033" height="30" width="200" valign="top">
<blockquote> <font color="#CCFFFF" size="2" face="Arial, Helvetica, sans-serif"><b>G1 terem (21)</b></font>
</blockquote>
</td>
<td height="30" width="300" bordercolor="#000066" bgcolor="#663399"> <font size="2" face="Arial, Helvetica, sans-serif" color="FFFF00"><b>
<blockquote>
<select name="IF45">
<option value="deny-G1" <?if ($outstr[0]=="G1 is denyed") echo"selected"?>>Tiltva</option>
<option value="allow-G1" <?if ($outstr[0]=="G1 is allowed") echo"selected"?>>Enged.lyezve</option>
</select>
</blockquote>
</b></font> </td>
</tr>
<tr>
<td bgcolor="#000033" height="30" width="200" valign="top">
<blockquote> <font color="#CCFFFF" size="2" face="Arial, Helvetica, sans-serif"><b>G2 terem (23)</b></font>
</blockquote>
</td>
<td height="30" width="300" bordercolor="#000066" bgcolor="#663399"> <font size="2" face="Arial, Helvetica, sans-serif" color="FFFF00"><b>
<blockquote>
<select name="IF42">
<option value="deny-G2" <?if ($outstr[1]=="G2 is denyed") echo"selected"?>>Tiltva</option>
<option value="allow-G2" <?if ($outstr[1]=="G2 is allowed") echo"selected"?>>Enged.lyezve</option>
</select>
</blockquote>
</b></font> </td>
</tr>
<tr>
<td bgcolor="#000033" height="30" width="200" valign="top">
<blockquote> <font color="#CCFFFF" size="2" face="Arial, Helvetica, sans-serif"><b>G3 terem (24)</b></font>
</blockquote>
</td>
<td height="30" width="300" bordercolor="#000066" bgcolor="#663399"> <font size="2" face="Arial, Helvetica, sans-serif" color="FFFF00"><b>
<blockquote>
<select name="IF24">
<option value="deny-G3" <?if ($outstr[2]=="G3 is denyed") echo"selected"?>>Tiltva</option>
<option value="allow-G3" <?if ($outstr[2]=="G3 is allowed") echo"selected"?>>Enged.lyezve</option>
</select>
</blockquote>
</b></font> </td>
</tr>
<tr>
<td height="40" bgcolor="#000033" colspan="2" valign="bottom"><font color="#CCFFFF"><b><font face="Arial, Helvetica, sans-serif">
<div align="center">
<input type="button" name="Button" value="Vissza.ll.t.s" onclick="javascript:self.location.href='setinetpolicy.php?tanarazon=<?echo $user_adatok[0]?>'">
<input type="submit" name="Submit2" value="M.dos.t">
</div>
</font></b></font> </td>
</tr>
</table>
</form>
> 3, aprobb script irasa - aprobb script + crontab - irasa, hogy
> minden kicsengokor visszaalljon a default squid.conf fajl (azaz, hogy
> nincs net - mert ha a tanarokra bizzuk ezt a feladatot ,akkor tuti,
> hogy reggel bekapcsolja a netet, es majd ha eszebe jut ,csak akkor
> fogja leallitani, igy viszont a policy az , hogy csak akkor legyen net
> ha szukseges + a tanar tud rola)
Erre pedig az etc/cron.d/becsengsquidset-ben :
## /etc/cron.d/squidset csengetesi rend szerint allitja a NETet
#PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
#MAILTO=root
## m h dom mon dow user command
@reboot root squidset -q deny-G2 deny-G1
0 8 * * 1-5 root squidset -q deny-G2 deny-G1
55 8 * * 1-5 root squidset -q deny-G2 deny-G1
50 9 * * 1-5 root squidset -q deny-G2 deny-G1
45 10 * * 1-5 root squidset -q deny-G2 deny-G1
40 11 * * 1-5 root squidset -q deny-G2 deny-G1
35 12 * * 1-5 root squidset -q deny-G2 deny-G1
30 13 * * 1-5 root squidset -q deny-G2 deny-G1
25 14 * * 1-5 root squidset -q deny-G2 deny-G1
20 15 * * 1-5 root squidset -q deny-G2 deny-G1
15 16 * * 1-5 root squidset -q deny-G2 deny-G1
0 17 * * 1-5 root squidset -q allow-G2 allow-G1
## EOF
A G3 az a termünk, ahol a kölök NET-ezhet ha már nincs órája, v. épp lukas órája van. / vagy épp érdeklődik a nála is öregebb gépek iránt :-) /
CsIP
További információk a(z) Techinfo levelezőlistáról