בעיה מוזרה בטופס התקשרות מבוסס php פשוט

שפות צד שרת, צד לקוח, מסדי נתונים, גרפיקה ועיצוב, וכו', כל מה שקשור בנושא העצום הזה, אנחנו כאן לעזור לכם ככל שנוכל.

מנהל: צוות האתר

סמל אישי של המשתמש
benjo
משתמש חדש
משתמש חדש
הודעות: 111
הצטרף: 12/10/2006 ב-20:19:40
מיקום: תל אביב
יצירת קשר:

בעיה מוזרה בטופס התקשרות מבוסס php פשוט

הודעה שלא נקראהעל ידי benjo » 10/03/2013 ב-16:52:49

שלום,
יש לי מלא אתרים ישנים שבניתי פשוטים ב-html
ועשיתי בהם סתם טופס התקשרות פשוט מבוסס php
העניין הוא שזה עובד טוב אבל משום מה לאחרונה הטופס נשלח על דעת עצמו ריק מתוכן, כמה פעמים ביום כמו איזה ספאם מרגיז
יש בטופס גם איזה סקיריפט לוידוי כתובת מייל תקנית.
אני חושד שמדובר באיזה רוגלה או בוט שסורק ואייך שהוא מפעיל את קובץ ה-php וזה שולח את הטופס ריק

זה הטופס שעשיתי... לא יודע אולי יש בו טעות שלא גיליתי או אם אתם יודעים באמצעות פונקציה איזה דרך שאני אוכל לאבטח אותו שלא ישלח לי סתם "הודעות ריקות"

זה ה-html

קוד: בחר הכל

<div class="form_small"><form action="go_instant_orit.php" method="post" name="form1" id="form1" onSubmit="return ValidateForm()">
        <table border="0" cellspacing="0" cellpadding="0" style="margin: 20px 40px 0px 0px">
          <tr>
 
    <td valign="top">
   
      <input name="name" type="text" class="formfields" onclick="this.value='';" onfocus="this.select()" onblur="this.value=!this.value?'שם:':this.value;" value="שם:" size="26" maxlength="16"/>
    </td>
    <td valign="top">
      <input name="phone" type="text" class="formfields2" onclick="this.value='';" onfocus="this.select()" onblur="this.value=!this.value?'טלפון:':this.value;" value="טלפון:" size="26" maxlength="16" />
    </td>
    <td valign="top">&nbsp;</td>
    <td rowspan="2" valign="top"> <input name="snd" type="submit" class="snd_attributes" value="" /></td>
          </tr>
  <tr>
    <td>
      <input name="txtEmail" type="text" class="formfields" value="אימייל:" onclick="this.value='';" onfocus="this.select()" onblur="this.value=!this.value?'אימייל:':this.value;" size="26" maxlength="16" id="txtEmail"/>
    </td>
    <td><label for="atributs"></label>
      <select name="atributs" class="formfields3">
        <option value="בנוגע ל...">בנוגע ל...</option>
        <option value="סיפור חיים">סיפור חיים</option>
        <option value="אוטוביוגרפיה">אוטוביוגרפיה</option>
        <option value="זיכרונות ניצול שואה">זיכרונות ניצול שואה</option>
        <option value="כתיבה מתוך חומר נתון">כתיבה מתוך חומר נתון</option>
        <option value="עריכה">עריכה</option>
        <option value="אחר">אחר</option>
      </select></td>
    <td>&nbsp;</td>
    </tr>
</table>
     
      </form>
    </div>


זה קוד ה-php

קוד: בחר הכל

<?php

   $emailSubject = 'Instant Form - Milim-Tovot Mail Service';
   $webMaster = '[email protected]';
   
   
   $nameField = $_POST['name'];
   $phoneField = $_POST['phone'];
   $emailField = $_POST['txtEmail'];
   $atriField = $_POST['atributs'];
 
   
   $body = '
<br><hr><br>
<b>שם:</b> '.$nameField.' <br>
<b>טלפון:</b> '.$phoneField.' <br>
<b>אימייל:</b> '.$emailField.' <br>
<b>בנוגע ל:</b> '.$atriField.' <br>';


   $headers = "From: $email\r\n";
   $headers  = "Content-type: text/html; CHARSET=UTF-8";
   $success = mail($webMaster, $emailSubject, $body, $headers);

if($success){ 
?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>milim-tovot</title>
<style type="text/css">
<!--
body,td,th {
   font-family: Arial, Helvetica, sans-serif;
   color: #000000;
   font-weight: bold;
}
body {
   margin-left: 0px;
   margin-top: 0px;
   margin-right: 0px;
   margin-bottom: 0px;
   background-image: url(img/bkg.png);
   background-repeat: repeat;
}
-->
</style></head>

<body>
<table width="400" height="342" border="0" align="center" cellpadding="6" cellspacing="0" dir="rtl">
  <tr>
    <td><table width="400" border="0" align="center" cellpadding="6" cellspacing="0">
      <tr>
        <td><div align="center">תודה, נחזור אליכם בהקדם</div></td>
      </tr>
      <tr>
        <td><div align="center"><a href="http://milim-tovot.co.il/">חזרה לאתר</a></div></td>
      </tr>
    </table></td>
  </tr>
</table>
</body>
</html>
<? } ?>


וזה עוד איזה סקריפט שיש לי בעמוד שאמור להגן מפני שליחה של מיילים מזוייפים

קוד: בחר הכל

<script type="text/javascript">
function echeck(str) {

      var at="@"
      var dot="."
      var lat=str.indexOf(at)
      var lstr=str.length
      var ldot=str.indexOf(dot)
      if (str.indexOf(at)==-1){
         alert("כתובת מייל לא תקנית")
         return false
      }

      if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
         alert("כתובת מייל לא תקנית")
         return false
      }

      if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
          alert("כתובת מייל לא תקנית")
          return false
      }

       if (str.indexOf(at,(lat+1))!=-1){
          alert("כתובת מייל לא תקנית")
          return false
       }

       if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
          alert("כתובת מייל לא תקנית")
          return false
       }

       if (str.indexOf(dot,(lat+2))==-1){
          alert("כתובת מייל לא תקנית")
          return false
       }
      
       if (str.indexOf(" ")!=-1){
          alert("כתובת מייל לא תקנית")
          return false
       }

        return true               
   }

function ValidateForm(){
   var emailID=document.form1.txtEmail
   
   if ((emailID.value==null)||(emailID.value=="")){
      alert("Please Enter your Email ID")
      emailID.focus()
      return false
   }
   if (echeck(emailID.value)==false){
      emailID.value=""
      emailID.focus()
      return false
   }
   return true
 }

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
</script>
Benjo - Interactive Media
בניית אתרי אינטרנט | עיצוב גרפי | הפקת דפוס | צילום | וידאו |

shmuel1
משתמש חדש
משתמש חדש
הודעות: 99
הצטרף: 27/04/2012 ב-18:03:36
יצירת קשר:

Re: בעיה מוזרה בטופס התקשרות מבוסס php פשוט

הודעה שלא נקראהעל ידי shmuel1 » 10/03/2013 ב-21:02:00

בגלל שאפשר לשלוח post-ים גם בלי להפעיל את הJS שלך,
נראלי שהוא פשוט שולח ישירות את הפוסט ריק לקובץ הphp.
ההצעה שלי היא כזאת:
להוסיף תנאי כזה-

קוד: בחר הכל

if(!empty($משתנה1) && !empty(משתנה2)){
}else{
$error = 'לא כל הפרטים מולאו כמו שצריך!';
}

תהנה!
מקווה שעזרתי :)
אני לא אחראי על שום נזק שנגרם כתוצאה מעצה שלי, מוד או כל דבר אחר!
לא פעיל בשבת

הפורום שלי :)


חזור אל “בניית אתרים”

מי מחובר

משתמשים הגולשים בפורום זה: אין משתמשים רשומים ו־ 131 אורחים

cron