Logo

Kurs: Internet/Intranet Un-/Sicherheit im Internet Inet-Kurs (INHALT) Online-Kurse
Web-Programmierung

13.1Web-Programmierung (serverseitig d.h. CGI-Prg. oder clientseitig im Browser)

serverseitig (CGI-Prg)
clientseitig (im Browser)
Hier stellen Konfigurationsfehler und Vulnerabilities eine Gefährdung für den Serverbetrieb dar (TIOBE Statistik) Hier stellen Konfigurationsfehler und Vulnerabilities eine Gefährdung für den Browser bzw. Client-PC dar
Java-ServerPages (Inline in .jsp Dateien)
- erzeugen JavaServlets (class)
JAVA Programme (.class) werden über ein PlugIn von Oracle ausgeführt
- Sicherheitskonzept über Virtuelle-Maschine (sand-box)
ServerSidedJavaScript (inline, .html) JavaScript von Netscape wird direkt über den Browser interpretiert (inline, .html)
- mit Sicherheitskonzept
- bei Nutzung von css+JavaScript+html spricht man auch von DynamicHTML
ActiveServerPages (inline, .asp) Das Active-X wurde zunächst ohne Sicherheitskonzept u. nur für lokale Anwendungen entwickelt (inline, .html)
- MS-Java-VM (sicherheitsproblematisch u. veraltet)
- Jscript (JavaScript + MS-Zusätze)
- VBScript
- Steuerelemente (wurden in sichere/unsichere eingeteilt)
- PlugIns (ab IE6 nur noch über Active-X)

 

Shell-Script ( . sh)
ServerSidedIncludes (inline, .shtml)
PHP (inline, .php .php4)
Perl ( .pl .cgi)
Shell-Scripte (.sh)
Bei vielen Browsern sind weitere aktive-Inhalte, aber auch Sicherheitslücken über PlugIns möglich
-siehe: Browser Erweiterung über PlugIns

13.2JAVA
  • Infos von Oracle
    - http://docs.oracle.com/javase/tutorial/index.html, http://www.javasoft.com/
  • Java ist auch eine Insel von Christian Ullenboom
    - http://www.galileocomputing.de/openbook/javainsel3/ 
  • Sites mit Javabeispielen
    - http://www.anfyteam.com/
    - http://jpc.sourceforge.net/demos_basicdemos.html (PC-Emulator)
  • Kleine JAVA-Programmbeispiele
    /* javac HelloWorld.java (kompiliert)
    java HelloWorld (startet die Applikation)
    */
    class HelloWorld {
    public static void main(String[] args) {
    // Definition einer Zeichenkette.
    String message="Hallo JAVA!";
    // Zeichenkette an der Konsole ausgeben.
    System.out.println(message);
    }
    }
    /* javac HelloApplet.java (kompiliert)
    <object classid="java:HelloApplet.class"
    codetyte="application/java" width="300" height="100">
    </object> (bindet es in HTML ein)
    */
    import java.applet.Applet;
    import java.awt.Graphics;
    public class HelloApplet extends Applet {
    public void paint(Graphics g) {
    g.drawString("Hallo JAVA-Applet!",
    getSize().width/2, getSize().height/2);
    }
    }
13.3JAVA-Script
13.4Active Server Pages
  • Active Server Pages bestehen aus HTML-Seiten mit serverseitig ausgeführten VBScripten oder JScripten.
    Über Structured Query Language-Abfragen ist ein Zugriff auf Datenbanken möglich.
  • Online-Infos
    - http://www.aspdeveloper.net
  • Kleiner ASP(x)-Bereich
    <html><body>  <% response.write("Hallo ASP!") %> </body></html>
    <html><body>  Datei Erstellungsdatum: <%= Now() %> </body></html>
    <%@ Page Language="C#" %> <script runat="server">     void Page_Load()     {time.Text=DateTime.Now.ToString();} </script> <html><body>  Im ASPX-Land ist es augenblicklich:  <asp:Label id="time" runat="server" /> </body></html>
13.5PHP
13.6CGI-/Perl
  • Perl als Skriptsprache für CGI
    - http://www.tekromancer.com/perl/inhalt.html
  • Kleines Perl-Programm
    #!/usr/bin/perl print "Content-type: text/html\n\n";
    print '<html><body><h1>Hello PERL!</h1></body></html>'; exit;
    print "QUERY_STRING --&gt; ".$ENV{"QUERY_STRING"};
    system ("whoami");
13.7Server Side Includes
13.8Java Server Pages
  • Die Onlinedoku des (eigenen) Tomcat-Servers
    - http://localhost/usr/share/doc/packages/jakarta-tomcat/tomcat-docs/ (über Apache-Server)
    - http://localhost:8080 (nach Tomcat-Start -> cd /usr/share/tomcat;/etc/init.d/tomcat start)
    - http://localhost:8080/examples/jsp/
  • Kleine Java Server Page und Servlet
    Deine IP-Adr. ist <%= request.getRemoteAddr() %> Der Übergabewert ist <%= request.getQueryString() %>
    /* servlet-Beispiel RequestInfoExample.java*/ import java.io.*; import javax.servlet.*; import javax.servlet.http.*;
    public class RequestInfo extends HttpServlet {     public void doGet(HttpServletRequest request, HttpServletResponse response)     throws IOException, ServletException     {         response.setContentType("text/html");         PrintWriter out = response.getWriter();         out.println("<html><body>");         out.println("Deine IP-Adresse ist: " + request.getRemoteAddr());         out.println("</body></html>");     }     public void doPost(HttpServletRequest request, HttpServletResponse response)     throws IOException, ServletException     {         doGet(request, response);     } }
13.9AJAX

Meinolf Mühlenjost 2020 Un-/Sicherheit im Internet Inet-Kurs (INHALT) Online-Kurse