Pagina 1 van 1

IP adres meesturen in mailform?

Geplaatst: 10 sep 2005, 16:00
door Muiter
Ik heb een goedwerkend mailfomulier (in php) op mijn website. Helaas krijg ik nu regelmatig spam binnen via dit formulier. Is het mogelijk de mailform aan te passen zodat het IP-adres van de verzender word meegestuurd?

Geplaatst: 10 sep 2005, 16:04
door Stef
Jahoor.. zet ergens erbij:

Code: Selecteer alles

$ip = $_SERVER['REMOTE_ADDR'];
En zet in 't bericht het volgende erbij:

Code: Selecteer alles

\n IP: $ip

Geplaatst: 10 sep 2005, 16:16
door Muiter
Hoe dan precies?

submitformdone.php

Code: Selecteer alles

$recipient = "info@modelautoforum.nl";
$subject = "Mailform Modelautoforum.nl -> $HTTP_POST_VARS[subject]\n";
$mailheaders = "From: $HTTP_POST_VARS[name]($HTTP_POST_VARS[user]) <$HTTP_POST_VARS[email]>\n";
$mailheaders .= "Reply-To: $HTTP_POST_VARS[email]\n";
form_body.tpl

Code: Selecteer alles

<script language="JavaScript">
<!--
function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
      } else if (test!='R') {
        if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (val<min || max<val) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' \n'; }
  } if (errors) alert('Je bent het volgende vergeten in te vullen:\n'+errors);
  document.MM_returnValue = (errors == '');
}
//-->
</script>
 
<table width="400" height="300" border="0" cellpadding="2" cellspacing="1" class="forumline">
  <tr> 
    <td class="catHead" height="25">
      <div align="center"><span class="genmed"><b>Contact forumulier</b></span></div>
    </td>
  </tr>
    <tr>
      <td class="row1" width="100%">        
      <p align="center"> 
      <div align="center"><span class="gensmall">Door middel van dit formulier 
        kun je contact opnemen met<br />
        Stichting Modelautoforum.nl en de beheerder van deze website.</span></div>
      <span class="gensmall"></span>
      <form action="submitformdone.php" method="POST">
        <table width="100" align="center">
          <tr> 
            <td width="8%" align="left" span class="gensmall"><span class="gensmall"> 
              Naam: </span></td>
            <td align="left" width="92%"> <span class="gensmall">
              <input type="text" name="name">
              </span></td>
          </tr>
          <tr> 
            <td width="8%" align="left" span class="gensmall"><span class="gensmall"> 
              Gebruikersnaam: </span></td>
            <td align="left" width="92%"> <span class="gensmall">
              <input type="text" name="user">
              </span></td>
          </tr>
          <tr> 
            <td width="8%" align="left" span class="gensmall"><span class="gensmall"> 
              E-mail: </span></td>
            <td align="left" width="92%"> <span class="gensmall">
              <input type="text" name="email">
              </span></td>
          </tr>
          <tr> 
            <td width="8%" align="left" span class="gensmall"><span class="gensmall"> 
              Onderwerp: </span></td>
            <td align="left" width="92%"> <span class="gensmall">
              <select name="subject">
                <option>Technisch</option>
                <option>Partner</option>
                <option>Opmerking</option>
                <option>Klacht</option>
                <option>Overig</option>
              </select>
              </span></td>
          </tr>
          <tr> 
            <td width="8%" align="left" span class="gensmall"><span class="gensmall">Bericht:</span></td>
            <td align="left" width="92%"> <span class="gensmall">
              <textarea cols="30" rows="5" name="message"></textarea>
              </span></td>
          </tr>
          <tr> 
            <td width="8%" align="left"> <span class="gensmall">
              <input type="submit" value="Verstuur" name="submit" onClick="MM_validateForm('name','','R','email','','RisEmail','message','','R');return document.MM_returnValue">
              </span></td>
            <td align="left" width="92%"> <span class="gensmall">
              <input type="reset" value="Opnieuw" name="submit2">
              </span></td>
          </tr>
          <td width="8%">&nbsp; </td>
        </table>
      </form>
      </td>
</table>

Geplaatst: 10 sep 2005, 16:21
door supperbas

Code: Selecteer alles

$recipient = "info@modelautoforum.nl"; 
$subject = "Mailform Modelautoforum.nl -> $HTTP_POST_VARS[subject]\n"; 
$mailheaders = "From: $HTTP_POST_VARS[name]($HTTP_POST_VARS[user]) <$HTTP_POST_VARS[email]>\n"; 
$mailheaders .= "Reply-To: $HTTP_POST_VARS[email]\n";
vervan met

Code: Selecteer alles

$ip = $_SERVER['REMOTE_ADDR'];
$recipient = "info@modelautoforum.nl"; 
$subject = "Mailform Modelautoforum.nl -> $HTTP_POST_VARS[subject]\n"; 
$mailheaders = "From: $HTTP_POST_VARS[name]($HTTP_POST_VARS[user]) <$HTTP_POST_VARS[email]>\n IP: $ip"; 
$mailheaders .= "Reply-To: $HTTP_POST_VARS[email]\n";

Geplaatst: 10 sep 2005, 16:58
door Muiter
Nee dat werkt niet. Dan komt er bv te staan:

Code: Selecteer alles

Mark(Muiter) <m.ruiter4@chello.nl> IP : m.ruiter4@chello.nl

Geplaatst: 10 sep 2005, 17:01
door Paul
Het moet in het bericht er zelf bijgezet worden :)

Geplaatst: 10 sep 2005, 17:07
door Muiter
paulus schreef:Het moet in het bericht er zelf bijgezet worden :)
Dat snap ik, maar waar staat dat (meesage), ik kan alleen de headers vinden.

Geplaatst: 10 sep 2005, 17:16
door Paul
Dat weet ik toch niet, ik ken het script niet :roll:

Geplaatst: 13 okt 2005, 20:02
door Muiter
paulus schreef:Dat weet ik toch niet, ik ken het script niet :roll:
Script staat hier boven.

Geplaatst: 13 okt 2005, 20:09
door Paul
Ik zie maar een klein deel van eht script hoor, niet het bericht deel ;)

Geplaatst: 13 okt 2005, 20:15
door Muiter

Code: Selecteer alles

$msg .= "$HTTP_POST_VARS[message]\n";

Geplaatst: 13 okt 2005, 20:18
door Paul
Vervang met:

Code: Selecteer alles

$msg .= "$HTTP_POST_VARS[message]\n";
$msg .= "IP: ".$ip;

Geplaatst: 14 okt 2005, 04:35
door Muiter
En waar dit dan? Dat moet ik in form_body.tpl zetten maar ik weet niet waar.

Code: Selecteer alles

$ip = $_SERVER['REMOTE_ADDR'];

Geplaatst: 14 okt 2005, 10:19
door Stef
In submitformdone.php boven $recipients. :)