Avatar billede schunck Juniormester
04. marts 2008 - 13:44 Der er 6 kommentarer og
1 løsning

billedebeskyttelse på mailform

Jeg har dette mailscript, som jeg gerne vil have beskyttet af en random generated image code (tror nok det hedder SEIG). Altså sådan et billede, hvor der bliver spyttet en talkode ud, som man skal kopiere manuelt til en tekstboks.

mit script ser således ud:
-------------
$settings2 = dbarray(dbquery("SELECT * FROM ".$db_prefix."settings"));


  if(isset($_POST['mailform']) && !empty($_POST['inputname']) && !empty($_POST['inputemail']) && !empty($_POST['inputadr'])&& !empty($_POST['status']) && !empty($_POST['inputtlf']) && !empty($_POST['inputalder1']) && !empty($_POST['inputalder2']) && !empty($_POST['inputalder']) && !empty($_POST['31']) && !empty($_POST['inputpost']) && !empty($_POST['inputby']) && !empty($_POST['inputmessage'])) {

      $recipient = "".$settings2['tilmeldemail']."";

      $subject = "Anmodning om indmeldelse i ROG";

      $message = "$_POST[inputname]\r\n";

 

      $message .= "Født: $_POST[inputalder]$_POST[inputalder1]$_POST[inputalder2]\r\n\r\n";

   

      $message .= "Holdønske: ";

      $message .= "$_POST[31] \r\n\r\n";

      $message .= "Hvis holdet er optaget vil jeg: ";

      $message .= "$_POST[status]\r\n";

      $message .= "Ønske: ";

      $message .= "$_POST[holdalt]\r\n\r\n";

      $message .= "Medlem af ROG sidste år: ";

      $message .= "$_POST[medlem]\r\n";

      $message .= "På hold: ";

      $message .= "$_POST[hold]\r\n\r\n";

      $message .= "$_POST[inputmessage]\r\n\r\n";

      $message .= "CO. ";   

      $message .= "$_POST[inputco]\r\n";

      $message .= "$_POST[inputadr]\r\n";

      $message .= "$_POST[inputpost]\r\n";

      $message .= "$_POST[inputby]\r\n";

      $message .= "$_POST[inputtlf]\r\n";

          $message .= "$_POST[inputemail]\r\n\r\n";

      $headers = "From: $_POST[inputname] <$_POST[inputemail]>\r\n";

     

     

            $headers = "From: $_POST[inputname] <$_POST[inputemail]>\r\n";

      mail($recipient, $subject, $message, $headers);

 

    echo "<script>location.href = '".$_SERVER['PHP_SELF']."?id=kontakt&msg=ok';</script>\n";

   



    }elseif(isset($_POST['mailform'])) {

      $msg = '<font color="#990000">Udfyld venligst alle felterne!</font>';

    }

 

  if(isset($_GET['msg']) && $_GET['msg'] == "ok"){

      $msg = '<p class="body" bgcolor="#ffffff"><font color="000000">Tilmelding er sendt!<br>Hvis der ikke er plads på nogen af de valgte hold, vil du høre nærmere. Hvis der er plads vil du modtage et girokort indenfor de næste 14 dage.</font></p>';

  }

 

  opentable(Tilmeldingsblanket);

  echo $msg;

?>



<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">

<div align="center">

  <table bgcolor="#ffffff" width="100%"  border="0" cellspacing="0" cellpadding="2">

    <tr>

      <td class="left"><table width="100%" bgcolor="#ffffff" border="0" cellspacing="0" cellpadding="2">

          <tr>

            <td class="body" bgcolor="#ffffff"><div align="right"><font color="#000000">Fulde Navn:</font></div></td>

            <td class="body" bgcolor="#ffffff"><input class="body" bgcolor="#000000" type="text" value="<?php echo $_POST['inputname']; ?>" name="inputname"></td>

          </tr>

          <tr>

            <td class="body" bgcolor="#ffffff"><div align="right"><font color="#000000">Adresse:</font></div></td>

            <td class="body" bgcolor="#ffffff"><input class="body" bgcolor="#000000" type="text" value="<?php echo $_POST['inputadr']; ?>" name="inputadr"></td>

          </tr>

          <tr>

            <td class="body" bgcolor="#ffffff"><div align="right"><font color="#000000">co-adresse:</font></div></td>

            <td class="body" bgcolor="#ffffff"><input class="body" bgcolor="#000000" type="text" value="<?php echo $_POST['inputco']; ?>" name="inputco"></td>

          </tr>

          <tr>

            <td class="body" bgcolor="#ffffff"><div align="right"><font color="#000000">Post nr.:</font></div></td>

            <td class="body" bgcolor="#ffffff"><input class="body" bgcolor="#000000" type="text" value="<?php echo $_POST['inputpost']; ?>" name="inputpost"></td>

          </tr>

          <tr>

            <td class="body" bgcolor="#ffffff"><div align="right"><font color="#000000">By:</font></div></td>

            <td class="body" bgcolor="#ffffff"><input class="body" bgcolor="#000000" type="text" value="<?php echo $_POST['inputby']; ?>" name="inputby"></td>

          </tr>

          <tr>

            <td class="body" bgcolor="#ffffff"><div align="right"><font color="#000000">TLF.:</font></div></td>

            <td class="body" bgcolor="#ffffff"><input class="body" bgcolor="#000000" type="text" value="<?php echo $_POST['inputtlf']; ?>" name="inputtlf"></td>

          </tr>

          <tr>

            <td class="body" bgcolor="#ffffff"><div align="right"><font color="#000000">Email:</font></div></td>

            <td class="body" bgcolor="#ffffff"><input class="body" bgcolor="#000000" type="text" value="<?php echo $_POST['inputemail']; ?>" name="inputemail"></td>

          </tr>

          <tr>

              <td class="body" bgcolor="#ffffff"><div align="right"><font color="#000000">Fødselsdag:</font></div></td>

            <td class="body" bgcolor="#ffffff"><select name="inputalder">

    <option value=<?php echo $_POST['distance']; ?>><b>Dag</b></option>

    <option name="inputalder" value=1/>1</option>

    <option name="inputalder" value=2/>2</option>

    <option name="inputalder" value=3/>3</option>

    <option name="inputalder" value=4/>4</option>

    <option name="inputalder" value=5/>5</option>

    <option name="inputalder" value=6/>6</option>

    <option name="inputalder" value=7/>7</option>

    <option name="inputalder" value=8/>8</option>

    <option name="inputalder" value=9/>9</option>

    <option name="inputalder" value=10/>10</option>

    <option name="inputalder" value=11/>11</option>

    <option name="inputalder" value=12/>12</option>

    <option name="inputalder" value=13/>13</option>

    <option name="inputalder" value=14/>14</option>

    <option name="inputalder" value=15/>15</option>

    <option name="inputalder" value=16/>16</option>

    <option name="inputalder" value=17/>17</option>

    <option name="inputalder" value=18/>18</option>

    <option name="inputalder" value=19/>19</option>

    <option name="inputalder" value=20/>20</option>

    <option name="inputalder" value=21/>21</option>

    <option name="inputalder" value=22/>22</option>

    <option name="inputalder" value=23/>23</option>

    <option name="inputalder" value=24/>24</option>

    <option name="inputalder" value=25/>25</option>

    <option name="inputalder" value=26/>26</option>

    <option name="inputalder" value=27/>27</option>

    <option name="inputalder" value=28/>28</option>

    <option name="inputalder" value=29/>29</option>

    <option name="inputalder" value=30/>30</option>

    <option name="inputalder" value=31/>31</option>

    </select>

    <select name="inputalder1">

    <option value=<?php echo $_POST['distance']; ?>><b>Måned</b></option>

    <option name="inputalder1" value=1->Januar</option>

    <option name="inputalder1" value=2->Februar</option>

    <option name="inputalder1" value=3->Marts</option>

    <option name="inputalder1" value=4->April</option>

    <option name="inputalder1" value=5->Maj</option>

    <option name="inputalder1" value=6->Juni</option>

    <option name="inputalder1" value=7->Juli</option>

    <option name="inputalder1" value=8->August</option>

    <option name="inputalder1" value=9->September</option>

    <option name="inputalder1" value=10->Oktober</option>

    <option name="inputalder1" value=11->November</option>

    <option name="inputalder1" value=12->December</option>

    </select>

    <input class="body" bgcolor="#000000" type="text" value="<?php echo $_POST['inputalder2']; ?>" onfocus="if(this.value=='År')this.value='';"

                      onblur="if(this.value=='')this.value='År';" name="inputalder2"></td>

          </tr>

       

         

          <tr>

                  <td class="body" bgcolor="#ffffff"><div align="right"><font color="#000000">Tilmeld hold:</font></div></td>

                  <td class="body" bgcolor="#ffffff">

                 

                 

                 

<?

        $result = dbquery("SELECT * FROM ".$db_prefix."user_groups WHERE group_id>'2' AND group_id!='40' ORDER BY group_name");

        echo "<select name='31' class='textbox'><optgroup label='Vælg hold'>\n";

        $sel = "";

        while ($data = dbarray($result)) {

            if (isset($group_id)) $sel = ($group_id == $data['group_id'] ? " selected" : "");

            echo "<option name'31' value='".$data['group_name']."'$sel> ".$data['group_name']."</option>\n";

        }

        echo "</select>\n";

       

        ?>

                         

                 

                 

                  </td>

          </tr>

          <tr>

              <td class="body" bgcolor="#ffffff"><div align="right"><font color="#000000"></font></div></td>

            <td class="body" bgcolor="#ffffff"><div align="left"><font color="#000000"></font><a href="http://www.rog.dk/ROG/findhold.php">Find hold</a></div></td>

          </tr>

          <tr>

              <td class="body" bgcolor="#ffffff" valign='middle'><div valign='middle' align="right"><font color="#000000">Hvis holdet er optaget vil jeg:<br><br><br></font></div></td>

            <td class="body" bgcolor="#ffffff"><div align="left"><font color="#000000">

                <table cellspacing='0' cellpadding='0' border='0'><tr>

                    <td class='body'><input class="body" type="radio" value="venteliste" name="status">På venteliste</td>

                    <td class='body' align='right'>Vælg alternativt hold</td></tr>

                    <tr><td class='body'><input class="body" type="radio" value="Alternativt_hold" name="status">Tilbydes et alternativt hold</td>

                    <td class='body' align='right'>

                        <?

        $result = dbquery("SELECT * FROM ".$db_prefix."user_groups WHERE group_id>'2' AND group_id!='40' ORDER BY group_name");

        echo "<select style='height:150px;' name='holdalt' class='textbox'><optgroup label='Vælg hold'>\n";

            echo "<option name'31' value='-'$sel>-</option>\n";

        $sel = "";

        while ($data = dbarray($result)) {

            if (isset($group_id)) $sel = ($group_id == $data['group_id'] ? " selected" : "");

            echo "<option name'holdalt' value='".$data['group_name']."'$sel> ".$data['group_name']."</option>\n";

        }

        echo "</select></td>\n"

       

        ?></td></tr></table>

                   

                    </font></div><br><br></td>

          </tr>

          <tr>

              <td class="body" bgcolor="#ffffff"><div align="right"><font color="#000000">Gik du i ROG sidste år?</font></div></td>

            <td class="body" bgcolor="#ffffff"><div align="left"><font color="#000000">Ja<input class="body" type="radio" value="ja" name="medlem"> - Nej<input class="body" type="radio" checked value="nej" name="medlem"></td></font></div></td>

          </tr>

            <tr>

              <td class="body" bgcolor="#ffffff"><div align="right"><font color="#000000">Hvis ja - hvilket hold?</font></div></td>

          <td align="left">

              <?

        $result = dbquery("SELECT * FROM ".$db_prefix."user_groups WHERE group_id>'2' AND group_id!='40' ORDER BY group_name");

        echo "<select style='height:150px;' name='hold' class='textbox'><optgroup label='Vælg hold'>\n";

            echo "<option name'31' value='-'$sel>-</option>\n";

        $sel = "";

        while ($data = dbarray($result)) {

            if (isset($group_id)) $sel = ($group_id == $data['group_id'] ? " selected" : "");

            echo "<option name'hold' value='".$data['group_name']."'$sel> ".$data['group_name']."</option>\n";

        }

        echo "</select></td>\n";


        ?>

          </tr>

          <tr><td height='2'> </td>

          </tr>

          <tr>

            <td class="body" bgcolor="#ffffff"><div align="right"><font color="#000000">Evt.:</font></div></td>

            <td class="body" bgcolor="#ffffff"><textarea rows="3" cols="25" name="inputmessage"><?php echo $_POST['inputmessage'];?>

          </textarea></td>

          </tr>

      </td>

    </tr>

    <tr>

     

            <td class="body" bgcolor="#ffffff"></td>

            <td class="body" bgcolor="#ffffff" align="left"><input class="Knap" type="submit" name="mailform" value="Send tilmelding"></td>

</form>

         

    </tr>

  </table>

</td>

</tr>

</table>

</div>
-------------

Derudover har jeg leget lidt med et secure script som ser sådan her ud:

-------------
<?
session_start();

$string = $_SESSION['secc'];

$str1 = substr($string,0,2);

$str2 = substr($string,2,2);

header("Content-type: image/jpeg");

$ardimg = @imagecreate(40, 20) or die("Cannot Initialize new GD image stream");

$background_color = imagecolorallocate($ardimg,150,150,150);

$text_color = imagecolorallocate($ardimg,0,0,0);

imagestring($ardimg,5,2,0,$str1,$text_color);

$text_color = imagecolorallocate($ardimg,255,255,255);

imagestring($ardimg,6,19,5,$str2,$text_color);

imagejpeg($ardimg);

imagedestroy($ardimg);

?>

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

Men hvordan får jeg den øverste til at indsamle oplysninger fra den nederste før den sender mailen?
Avatar billede jakobdo Ekspert
04. marts 2008 - 19:10 #1
Du skal netop sørge for at koden som skrives i billedet, gemmes i en session.
Den session skal du så holde op imod det input som brugeren skriver i tekstboksen.
Avatar billede schunck Juniormester
04. marts 2008 - 19:19 #2
og det betyder??
Avatar billede jakobdo Ekspert
04. marts 2008 - 19:43 #3
Ved du hvad PHP er og den kode du har gør ?
Avatar billede schunck Juniormester
04. marts 2008 - 21:52 #4
Jeg ved godt hvad php er og jeg ved også godt at konceptet er at der bliver spyttet en 'kode' ud som bliver afbilledet i jpeg. Man skal så kopiere denne 'kode' så $_POST svarer til den session der er gemt, men når jeg sætter det op bliver den ved med at påstå at jeg ikke har fyldt alle felterne ud.

Jeg har brugt den et andet sted med REQUST METHOD, hvor det virker fint.
Jeg kan bare ikke lige gennemskue, hvordan jeg får det til at virke i ovenstående.
Avatar billede jakobdo Ekspert
11. april 2008 - 12:08 #5
Prøv at start helt basic.
Klip alt andet væk, end selve billedet.
Når så det virker, så smider du delene på en for en.
Så kan det være du selv kan finde frem til fejlen. :o)
Avatar billede schunck Juniormester
05. august 2008 - 21:22 #6
Hov... havde da lige glemt alt om dette spørgsmål

En kammerat der kunne gennemskue det kom på besøg og ordnede det... Føler du dig uretfærdigt behandlet, ang. point så skriv lige.

snakkes
Avatar billede jakobdo Ekspert
05. august 2008 - 21:33 #7
Fair nok...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Djurslands Bank

IT-udvikler

Styrelsen for Grøn Arealomlægning og Vandmiljø

Teamleder til Application Management

Netcompany A/S

Test Consultant

Netcompany A/S

IT Consultant