# Internet blocken



## berg-er (18. Mrz 2005)

Hallo!

Ich möchte ein programm schreiben, dass das internet erst durch eine passworteingabe mit einem java applet freigeschaltet wird. Also der gast soll übers w-lan eine seite aufrufen, in der er das passwort eingibt und anschließend das internet nützen kann. geht das überhaupt? falls ja, wie unterdrückt man eine internetverbindung über w-lan? gibts da irgendwelche seiten im netz die das audrücklich erleutern?

danke im vorraus!


----------



## DP (18. Mrz 2005)

sowas gibbet sicherlich schon als freeware...  imho über nen proxy oder so.


----------



## Gast (18. Mrz 2005)

ich würds aber gerne selber schreiben


----------



## DP (18. Mrz 2005)

ja dann schau dir die docs von so einem tool an und dann weisse wo der hase läuft...


----------



## Guest (20. Mrz 2005)

ok, hab da was begonnen nur irgendwie funktionierts nicht ganz. ich wollte google sperren. wenn ich das applet starte und auf "Programm starten" drücke, dann will sich die javaw.exe mit dem internet verbinden. so weit so gut. es geht aber kein passwortfenster auf, wenn ich google betrette. was mach ich falsch? hier der quellcode:


```
import java.awt.*;
import java.net.*;
import sun.misc.BASE64Encoder;
import java.awt.event.*;
import java.applet.*;
import java.io.*;


public class Internet extends Applet 
				implements ActionListener {
    
    private Button but1;
    private TextField text;
    private Graphics g;
    
    
    public void init() {
        
        setLayout(new FlowLayout());
        
        but1 = new Button("Programm starten");
        but1.addActionListener(this);
        add(but1);
        
    } // ende init
    
    
    public void actionPerformed(ActionEvent e) {
        String s = e.getActionCommand();
        if(s.equals("Programm starten")) {
            
               
                try {
                    URL url = new URL( "http://www.google.at" );
                    
                    BufferedReader in = new BufferedReader( new InputStreamReader(
                      openAuthorizedStream( url, "test123", "java123" )) );
                    
                } catch(Exception ex) {
                    g.drawString("Fehler beim Verbindungaufbau aufgetretten",10,100);
                }
                    
        }
        
        
    } // ende actionPerformed
    
    
    public static InputStream openAuthorizedStream( URL url,
            String name, String passwd ) throws IOException {
        
            URLConnection conn = url.openConnection();
            conn.setDoInput(true);
            conn.setRequestProperty( "Authorization",
                                    userNamePasswordBase64(name,passwd));
            conn.connect();
            return conn.getInputStream();
            
    } // ende InputStream
    
    
    private static String userNamePasswordBase64(String username, 
            							String password) {
      String s = username + ":" + password;
      
      String encs = new sun.misc.BASE64Encoder().encode(s.getBytes());
      
      return "Basic " + encs;
    } // ende userNamePasswordBase64
    
      
    public void paint(Graphics g) {
        
    } // ende paint()
    
} // ende Internet (class)
```

danke im voraus!


----------



## Bleiglanz (20. Mrz 2005)

>>dass das internet erst durch eine passworteingabe 

Hä? Wie soll das gehen? Der User kann doch jederzeit ein Browserfenster aufmachen, in dem dieses Applet NICHT ist und das Internet ganz normal nutzen???


----------



## Gast (20. Mrz 2005)

das weiß ich auch. ich weiß auch nicht so recht wie ich das problem lösen soll. hab mal danach gesurft und da bin ich auf die idee mit dem Proxy-Zugriff gekommen. das problem dabei ist, dass man nur eine seite sperren kann, ich will aber das ganze internet sperren.
was muss ich da jetzt benützen?


----------



## Dukel (20. Mrz 2005)

Wie wird denn die Internetverbindung aufgebaut? Aufm Router / Extra Rechner, oder auf dem selbigen auf dem man das Passwort eingeben muss?

Als bsp. Linux Router mit Iptables.
Eine Webseite (jsp, Servlet) erstellen, die das Passwd checkt und dementsprechend einen Iptables Regel dem System übergibt.


----------



## Gast (20. Mrz 2005)

also es wird einen rechner geben, der mit dem internet verbunden ist, und ein gast kann sich dann mit seinem notebook über w-lan mit dem rechner verbinden. wenn der dann das richtige passwort eingbit, soll das internet für ihn freigeschaltet werden.


----------



## Illuvatar (20. Mrz 2005)

Nur nebenbei: Ist das Problem nicht eh beseitigt, wenn das wlan gut genug verschlüsselt ist?


----------



## Dukel (21. Mrz 2005)

Gast hat gesagt.:
			
		

> also es wird einen rechner geben, der mit dem internet verbunden ist, und ein gast kann sich dann mit seinem notebook über w-lan mit dem rechner verbinden. wenn der dann das richtige passwort eingbit, soll das internet für ihn freigeschaltet werden.



Dann benutz doch einen Proxy mit Authentifizierung. Wozu das Rad neu erfinden?


----------



## Bleiglanz (21. Mrz 2005)

> Dann benutz doch einen Proxy mit Authentifizierung. Wozu das Rad neu erfinden?


z.B. Squid, kannst aber auch den normalen Apache als Proxy laufen lassen...


----------



## Gast (21. Mrz 2005)

aso, dass ist schon standartmäßig dabei oder wie?
wie macht man das mit der Authentifizierung?


----------



## DP (21. Mrz 2005)

Gast hat gesagt.:
			
		

> ich würds aber gerne selber schreiben



ja was denn nun? fertige lösungen einsetzen oder selbst schreiben?!


----------



## Gast (21. Mrz 2005)

fertige lösung ;-)


----------

