Anfaenger: Sicherheit des PHP Scriptes. Was meint ihr!

Hallo,

ich habe mein erstes kleines PHPScirpt geschrieben. Aus einem Formular kommen 2 Daten die ich nach einer Korrektur in eine URL eingebe.

Inputfelderquelltext:
<table border="1" width="272" style="border-collapse: collapse"><form name="Form1" method="post" action="eintragen.php">
    <tr>
     <td colspan="2">
     <h2>Überschrift</h2>
     <p align="center">
     <img border="0" src="/style/images/ctr.jpg"></td>
    </tr>
    <tr>
     <td width="116">Hersteller:</td>
     <td width="148"><select name="hersteller" size="10">
   <option> AEG </option>
   <option> AKAI </option>

</select></td>
    </tr>
    <tr>
     <td width="116">Typen:</td>
     <td width="148"><input type="text" name="typenbezeichnung"></td>
    </tr>
    <tr>
     <td width="268" colspan="2">
     <input type="submit" name="Button" value="Abschicken" style="float: right"></td>
    </tr>
    </form>

Quelltext der Übernahme:
<?php
$zeichenkette=str_replace(" ","",$_POST[typenbezeichnung]);
$zeichenkette1=str_replace("-","",$zeichenkette);

header("HTTP/1.1 301 Moved Permanently");
header("Location: http://sampel.com/index.php?title=CTR/$_POST[hersteller]-$zeichenkette1&action=edit");
header("Connection: close");
?>

  1. Nabend,
    von was für einer Sicherheit sprichst du? Wenn du Angst um deinen Server oder deine User hast, da kann von _diesem_ Skript imho keine Gefahr ausgehen.
    Viel lieber würd ich ja hier Sinn und Unsinn diskutieren.

    <?php
    $zeichenkette=str_replace(" ","",$_POST[typenbezeichnung]);
    $zeichenkette1=str_replace("-","",$zeichenkette);

    header("HTTP/1.1 301 Moved Permanently");
    header("Location: http://sampel.com/index.php?title=CTR/$_POST[hersteller]-$zeichenkette1&action=edit");
    header("Connection: close");
    ?>

    Warum entfernst du Leerzeichen und Bindestrich aus der Typenbezeichnung? Ist für mich nicht ersichtlich...
    Wichtiger wär die Frage, wieso verwendest du eine vermutlich nicht definierte Konstante 'typenbezeichnung' beim Zugriff auf das Array? Ich schätze eher, du wolltest dort einen String haben.
    Zur Weiterleitung: Du übergibst einen String als Parameter einer URL. Parameter einer URL müssen entsprechend codiert werden, informier dich da mal bitte.