Program na 'rizene' pripojeni k internetu

Petr Šobáň soban na centrum.cz
Čtvrtek Červen 28 21:21:28 CEST 2001


Já mám jednoduše připojování řešené přes www server kde klepne na ikonku
připojit a uživatel se připojí - pokud není PC připojeno připojí se.
Po klepnutí na odpojit se odpojí a pokud jsou všichni odpojeni zavěsí se
modem.
A k tomu že se někdo neodpojí? Jednoduše mu ty impulzy naučtuji je to jeho
problém, u telefonu taky společnost nezajímá že jste sluchátko nepoložily.


/home/httpd/cgi-bin/pripojit

-----------------------------------

#!/bin/bash

/home/httpd/cgi-bin/prava > /dev/null

if [ $? -gt 0 ]
	then
	echo "Location: /cgi-bin/error"
	echo
	else
#vlastni pripojeni

if [ -e /tmp/*.internet.run ]
    then
# jiz je nekdo pripojen
	echo $REMOTE_ADDR > /tmp/$REMOTE_ADDR.internet.run
	
    else
#neni nikdo pripojen
        echo $REMOTE_ADDR > /tmp/$REMOTE_ADDR.internet.run
	if [ ! -e /var/run/ppp?.pid ]
	    then
		let DEN=$(date '+%w')
		let HODINA=$(date '+%k')
		if [ \( ! -e /tmp/modem.block -a \( \( $DEN -eq 0 -o $DEN -eq 6 \) -o \( $HODINA -ge 17  -o  $HODINA -lt 7  \) \) \) ]
		then
			if [ ! -e /var/run/ppp?.pid ]
				then
				/sbin/ifup ppp0
#				echo "zvedam modem"
			fi
		else
		echo "Content-type: text/html"
		echo "Pragma: no-cache"
		echo "Cache-Control: no-cache"
		echo
		echo "Modem nelze připojit !!"
		echo
		echo "Bud je zakázáno připojeni, nebo neni čas 17:00 až 7:00 v pracovní den, nebo SOBOTA, NEDĚLE. <br>"
		echo "Nebo je modem blokován <br>"
		echo "Pokud si myslíte že je zde něco špatne kontaktujte správce - soban na centrum.cz"
		rm -f /tmp/$REMOTE_ADDR.internet.run
		exit 1
		fi
	fi
	
fi
# zapsat log	
#date '+Připojeno v %d.%m.%Y %T' >> /var/log/modem/$REMOTE_ADDR

mysql -h internet -D internet -e "insert into pripojeni values ( $(date '+%s'), '"$REMOTE_ADDR"', '"$REMOTE_USER"', 'P', '"$(date '+%Y-%m-%d')"', '"$(date '+%T')"') ;"
sleep 1

echo "Pragma: no-cache"
echo "Cache-Control: no-cache"
echo "Location: /modem.php3"
echo

fi


/home/httpd/cgi-bin/odpojit

---------------------------------------

#!/bin/bash

/home/httpd/cgi-bin/prava > /dev/null

if [ $? -gt 0 ]
	then
	echo "Location: /cgi-bin/error"
	echo
	else

#vlastni odpojeni
if [ -e /tmp/$REMOTE_ADDR.internet.run ]
    then
	rm -f /tmp/$REMOTE_ADDR.internet.run

	    if [ ! -e /tmp/*.internet.run ]
		then
		  /sbin/ifdown ppp0
#		echo "Odpojuji modem" >> /var/log/debug.modem
	    fi
# zapsat log
#	date '+Odpojeno  v %d.%m.%Y %T' >> /var/log/modem/$REMOTE_ADDR

mysql -h internet -D internet -e "insert into pripojeni values ( $(date +%s), '"$REMOTE_ADDR"', '"$REMOTE_USER"', 'O', '"$(date +%Y-%m-%d)"', '"$(date +%T)"') ;"
sleep 1

fi
	
echo "Pragma: no-cache"
echo "Cache-Control: no-cache"
echo "Location: /modem.php3"
echo

fi


PS Omlouvám se za délku.

-- 
/----------------------------------------\
|            Petr Šobáň                  |
|            Ostrava                     |
|----------------------------------------|
|    e-mail soban na centrum.cz             |
\----------------------------------------/

--- 
Používám legální programy a ZADARMO !
viz http://www.linux.cz/zdarma-a-legalne




Další informace o konferenci Linux