Edit report at https://bugs.php.net/bug.php?id=1003&edit=1

 ID:                 1003
 Comment by:         billhansachim at gmail dot com
 Reported by:        hle at sjmercury dot com
 Summary:            false to compile gd.c missing gdfontt.h (GD-1.3)
 Status:             Closed
 Type:               Bug
 Package:            Compile Failure
 Operating System:   SPARC solaris 2.6
 PHP Version:        3.0.5
 Block user comment: N
 Private report:     N

 New Comment:

* SQL-Injection
    - Verhinderung:
        - Mit PDO binden
        - Datenbanknutzer nur limitierte Rechte (NIE root nutzer!)
    - Beispiel:
        - Erwarteter Aufruf: http://webserver/cgi-bin/find.cgi?ID=42
        - SQL-Injektion: http://webserver/cgi-bin/find.cgi?
ID=42;UPDATE+USER+SET+TYPE='admin'+WHERE+ID=23
        
* Benutzerkennung
    - Sorgsam mit umgehen
    - Schema wie Vorname.Nachname vermeiden
    - Keine E-Mail Adressen

* Enumerationsangriff
    - Erkennungsmerkmale:
        - Viele zugriffe von der gleichen IP
        - Zugriffszahlen überschreiten bestimmte Anzahl (Script!)
        - Zugriffsparameter werden nach einem regelmäßigen Muster variiert
    - Abwehrmaßnahmen:
        - Captcha 
        - Zeitverzögerung des Zugriffs (exponentielle zeitsteigerung)

* Benutzer Authentifizierung
    - mittels HTTP-Protokoll über Webserver (Liste mit User/PW)
    - per PHP-Skript ($_SERVER['PHP_AUTH_USER'],...)
    - per HTML-Formular und PHP-Skript mit PW/ID Feld
    
* SSL
    - Ziele:
        - Vertraulichkeit
        - Integrität
        - Authentifizierung
    - Gültigkeit des Zertifikat:
        - Zertifikat muss von Zertifizierungsstelle validiert werden
        - Ablauflaufdatum 

* Eigenschaften von Webanwendungen
    - Plattformunabhängig
    - On the Fly and need deployment
    - Lebenslange Entwicklung
    - Ererignisgesteuerter Client

* Ebenenmodell Sicherheitskonzept
    0. Netzwerk/Host (absicherung des netzwerks/host)
    1. System (absicherung der systemsoftware)
    2. Technologie (richtige wahl der technologie(https/http))
    3. Implementierung (keine programmierfehler(sql-inj.))
    4. Logik (absicherung von prozessen(sichere pw erzwingen))
    5. Semantik (täuschungsschutz (phishing schutz))
    
* Informations-Bekanntgabe verhindern
    - Keine Kommentare in Code

* Vorteile von Sessions:
        -       Aufwendig errechnete Daten speichern
        -       Benutzerführung über bestimmte Reihenfolgen
        -       Zwischenspeichern von Daten, bevor sie in die Datenbank kommen 
(Warenkorb)
        
* Nachteile von Sessions:
    -   Verteilung von Serverlast mit Sessions erschwert
    -   Server merkt nicht, ob eine Session beendet ist
    -   Lesezeichen von Seiten mit Sessions kˆnnen Probleme bringen
    
* Session diebstahl nur durch raten möglich
    
* Sessions sinnvoll absichern:
    - Zusätzliche IP/ID
    - Keine kritischen Infos in Sessions sichern
    
* Erkennen von Manipulation 
    - Zu viele oder zu wenige Form-Variablen
    - Falsche Übertragung (GET statt POST)
    - Session ID kein Standard

* Reaktion auf Manipulation
    Sollte: 
        - Verarbeitung abbrechen aber korrekte verarbeitung vortäuschen
        - Explizite Warnung ausgeben
        - Weiterleitung auf Fehlerseite
    Nicht:
        - Dienst einstellen
        - Ungefilterte Fehlermeldung
        - "Wegen Wartungsarbeiten nicht verfügbar"


Previous Comments:
------------------------------------------------------------------------
[2012-06-27 08:39:23] unused dot spambox at gmail dot com

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>


<xsl:param name="von">0</xsl:param>
<xsl:param name="bis">9999</xsl:param>
        <xsl:template match="/buchhandel">
                <xsl:for-each-group 
select="buch[(@ersch-jahr&gt;$von)and(@ersch-
jahr&lt;$bis)]" group-by="@ersch-jahr">
                        <xsl:sort select="@ersch-jahr"/>
                        <p>
                                <b><xsl:value-of select="current-grouping-
key()"/></b><br/>
                                <xsl:for-each select="current-group()">
                                        <xsl:value-of select="position()"/>
<xsl:text>. </xsl:text><xsl:value-of select="buchtitel"/><br/>          
                                </xsl:for-each> 
                        </p>
                </xsl:for-each-group>
        </xsl:template>
        <xsl:param name="ausrichtung">right</xsl:param>
        <xsl:template match="/buchhandel">
                <html><head><title>jop</title><style>.reisen {background-color: 
green;}</style></head>
                <body>
                        <xsl:apply-templates select="buch"/>
                </body>
                </html>
                <xsl:apply-templates select="buch">
                        <xsl:sort select="preis" data-type="number"/>
                </xsl:apply-templates>
                <xsl:for-each select="buch">
                        <xsl:sort select="buchtitel" data-type="text"/>
                        <p><xsl:value-of select="buchtitel"/><xsl:text> 
</xsl:text></p>
                </xsl:for-each>
                <xsl:for-each-group select="buch" group-by="buchverlag">
                        <p><b><xsl:value-of 
select="current-grouping-key()"/></b>
</p>
                        <p><xsl:value-of select="current-group()/buchtitel" 
separator=", "/></p>
                </xsl:for-each-group>
        </xsl:template>
        <xsl:template match="buch">
                <xsl:element name="p">
                        <xsl:attribute name="class" select="@kat" />
                        <xsl:value-of select="buchtitel"/><xsl:text> </xsl:text>
                        <xsl:value-of select="buchverlag"/><xsl:text> 
</xsl:text>
                        <xsl:value-of select="preis"/>
                </xsl:element>
        </xsl:template>
        <xsl:template match="buch">
                <p style="text-align:{$ausrichtung}">
                        <xsl:value-of select="buchtitel"/><xsl:text> </xsl:text>
                        <xsl:value-of select="buchverlag"/><xsl:text> 
</xsl:text>
                        <xsl:value-of select="preis"/>
                </p>
        </xsl:template>
        <xsl:template match="buch">
                <p>
                        <xsl:value-of select="buchtitel"/><xsl:text> </xsl:text>
                        <xsl:value-of select="buchverlag"/><xsl:text> 
</xsl:text>
                        <xsl:call-template name="preis_template">
                                <xsl:with-param name="preis" select="preis"/>   
                        
                        </xsl:call-template>
                </p> 
        </xsl:template>
        <xsl:template name="preis_template">
                <xsl:param name="preis"/>
                        <xsl:choose>
                                <xsl:when test="preis/@waehrung='Dollar'">
                                        <xsl:value-of select="format-
number($preis*0.68054,'0.00')"/> EUR
                                                (<xsl:value-of 
select="$preis"/> 
Dollar)                                 
                                </xsl:when>
                                <xsl:otherwise>
                                        <xsl:value-of select="$preis"/> EUR
                                </xsl:otherwise>
                        </xsl:choose>
        </xsl:template>
        <!-- done down -->
        <xsl:template match="/fahrplan">
                <html>
                        <head><title>Von <xsl:value-of select="@von"/> nach 
<xsl:value-of select="@nach"/></title></head>
                        <body>
                                <h1>Von <xsl:value-of select="@von"/> nach 
<xsl:value-of select="@nach"/></h1>
                                <ul><xsl:apply-templates select="verbindung"/>
</ul>
                        </body>
                </html>
        </xsl:template>
        <xsl:template match="verbindung">
                <xsl:if test="fn:count(umsteigen) &lt; 3">
                        <li>
                                <b><xsl:value-of select="ab"/> - <xsl:value-of 
select="an"/></b><br/>
                                Dauer: <xsl:value-of select="dauer"/> 
(<xsl:value-of select="zug"/>,  <xsl:value-of select="umsteigen/zug" 
separator=", 
"/>)
                        </li>
                        </xsl:if>
        </xsl:template>
        <xsl:template match="/fluege">
                <ul>
                        <xsl:for-each select="flug">
                                <li>
                                        <xsl:value-of select="datum"/> 
(<xsl:value-of select="@id"/>) <br/>
                                        <xsl:variable name="von" select="von"/>
                                        <xsl:variable name="nach" 
select="nach"/>
                                        von <xsl:value-of 
select="/fluege/ort[@id 
= $von]"/> nach <xsl:value-of select="/fluege/ort[@id = $nach]"/> <br/>
                                        Klassen: <xsl:value-of select="klasse" 
separator=", "/>
                                </li>
                        </xsl:for-each>
                </ul>
        </xsl:template>
        <xsl:template match="/history">
                <html><head><title>Wetter</title></head>
                        <body>
                                <dl><xsl:apply-templates select="weather"/></dl>
                                <h3>Durchschnitt</h3>
                                <xsl:value-of select="fn:format-
number(sum(weather/rain) div count(weather/rain),'0.0')"/>
                        </body>
                </html>
        </xsl:template>
        <xsl:param name="art">C</xsl:param>
        <xsl:template match="weather">
                <dt><xsl:value-of select="@measured"/></dt>
                <xsl:choose>
                        <xsl:when test="$art='F'">
                                <dd><xsl:value-of select="((temperature*9) div 
5 
)+32"/> F</dd>
                        </xsl:when>
                        <xsl:otherwise>
                                <dd><xsl:value-of select="temperature"/> 
<xsl:value-of select="temperature/@unit"/></dd>
                        </xsl:otherwise>
                </xsl:choose>
        </xsl:template>
        <xsl:param name="isin"></xsl:param>
        <xsl:template match="/aktien">
                <html><head><title>Aktien</title></head>
                        <body><xsl:apply-templates select="aktie"/></body>
                </html>
        </xsl:template>
        <xsl:template match="aktie">
                <xsl:choose>
                        <xsl:when test="(@isin = $isin) or ($isin = '')">
                                <p>
                                        Name: <xsl:value-of select="name"/><br/>
                                        Mittelwert: <xsl:value-of 
select="fn:format-number(sum(kurse/kurs/ausgabepreis) div 
count(kurse/kurs),'0.00')"/> 
                                </p>
                        </xsl:when>
                </xsl:choose>
        </xsl:template>
        
</xsl:stylesheet>

------------------------------------------------------------------------
[1998-12-23 18:15:28] rasmus

Huh?  The various font header files are part of the GD package.

------------------------------------------------------------------------
[1998-12-23 17:26:51] hle at sjmercury dot com



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



-- 
Edit this bug report at https://bugs.php.net/bug.php?id=1003&edit=1

Reply via email to