chrism4111 Δημοσ. 6 Σεπτεμβρίου 2010 Μέλος Δημοσ. 6 Σεπτεμβρίου 2010 chrism4111 τα δεδομένα που λαμβάνεις από τη φόρμα τα κάνεις escape ή κάποια άλλη function; Ο κωδικας... > <?php include_once "functions.php"; connect(); $postid=$_GET['post']; $postid=protect($postid); $query="SELECT * FROM comments WHERE PostID=".$postid; $result=mysql_query($query); $num=mysql_num_rows($result); if($num>0) { for($i=0;$i<$num;$i++){ $fetch=mysql_fetch_array($result); if(($i+1)%2==0) { $color="#DDDDDD"; } else { $color="white"; } echo '<p></p>'; echo '<div>'; echo '<table cellspacing="0px" style="width:100%;">'; echo '<tr>'; echo '<td valign="top" width="18%">'; echo '<table width="100%" cellspacing="0px">'; echo '<tr>'; echo '<td align="center" width="100%">'.extractuser("username",$fetch['UserID']).'</td>'; echo '</tr>'; echo '<tr>'; echo '<td width="100%"><img src="'.extractuser("avatar",$fetch['UserID']).'" width="110px" height="100px" /></a></td>'; echo '</tr>'; echo '</table>'; echo '</td>'; echo '<td width="5%">'; echo '</td>'; echo '<td bgcolor="'.$color.'" valign="top" width="77%" style="border-radius:10px; border: 1px solid #6A6A6A;">'; echo '<table width="100%" cellspacing="0px" style="padding: 2px;">'; echo '<tr >'; echo '<td height="20px" width="90%" style="font-size:9pt; color: #949494;">Το σχόλιο έγινε στις '.$fetch['Comment_Date'].'</td>'; echo '<td align="center" height="20px" width="10%" style="font-size:9pt;color: #949494;">'.($i+1).'</td>'; echo '</tr>'; echo '<tr>'; echo '<td colspan="2" width="100%" style="color: #646464;">'.trim($fetch['Comment_Text'],'\r\n').'</td>'; /*<----------*/ echo '</tr>'; echo '</table>'; echo '</td>'; echo '</tr>'; echo '</table>'; echo '</div>'; echo '<p><p>'; } } if(validateuser()==true) { include "insertcomment.php"; } else { echo "<div style='text-align:center;border-radius:10px;-moz-border-radius:10px;border:1px solid #B32231;background-color:#A33235'>Για να αφήσετε το σχόλιό σας πρεπει να έχετε εισαχθεί στο σύστημα</div>"; } ?> και οι functions > <?php function protect($string) { $string=mysql_real_escape_string($string); $string=strip_tags($string); $string=addslashes($string); return $string; } function connect() { mysql_pconnect("localhost","root","") or die(mysql_error()); mysql_select_db("myproject"); $greek="SET NAMES 'greek'"; $setgreek=mysql_query($greek); } function emailreg($string) { if(eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $string)) { return 'true'; } else { return 'false'; } } function morning() { if(date("H")>=0 && date("H")<12) { $morning="Καλημέρα"; } else { $morning="Καλησπέρα"; } return $morning; } function page() { if($_GET["page"] == posts) { include("post.php"); } if($_GET["page"] == thanks) { include("thanks.php"); } if($_GET["page"] == login) { include("login.php"); } if($_GET["page"] == register) { include("register.php"); } if($_GET["page"] == logout) { include("logout.php"); } if($_GET["page"] == null) { include("loop.php"); } if($_GET["page"] == admin) { include("admin.php"); } } function categ($setcat) { if($setcat!="none") { $query="SELECT PostID,UserID,Post_Header,Post_Text,Post_Date,Category FROM posts WHERE Category='".$setcat."' ORDER BY Post_Date DESC"; } else { $query="SELECT PostID,UserID,Post_Header,Post_Text,Post_Date,Category FROM posts ORDER BY Post_Date DESC"; } return $query; } function validateuser() { session_start(); if(session_is_registered('myapp')) { return true; } else { return false; } } function memberuser() { if(validateuser()==true) { if($_SESSION['myapp']['role']==1) { return "admin"; } if($_SESSION['myapp']['role']==2) { return "member"; } else { return "login failed"; } } else { return false; } } function nameofuser() { if(validateuser()==true) { connect(); $userid=protect($_SESSION['myapp']['user']); $query="SELECT * FROM users WHERE UserID=".$userid.""; $result=mysql_query($query); $num=mysql_num_rows($result); if($num==1) { $fetch=mysql_fetch_array($result); return $fetch['User_Name']; } } } function extractuser($select,$userid) { connect(); $userid=protect($userid); $query="SELECT * FROM users WHERE UserID=".$userid; $result=mysql_query($query); $num=mysql_num_rows($result); if($num==1) { $fetch=mysql_fetch_array($result); if($select=="avatar") { return $fetch['Avatar_Image']; } if($select=="username") { return $fetch['User_Name']; } } else { return false; } } function numcomments($postid) { $query="SELECT * FROM comments WHERE PostID=".$postid; $result=mysql_query($query); $num=mysql_num_rows($result); return $num; } ?> ---------- Προσθήκη στις 21:26 ---------- Προηγούμενο μήνυμα στις 21:15 ---------- Ίσως η replace σε βοηθήσει. Ευχαριστω πολύ για την απαντηση βοηθησε παρα πολυ.....
isay Δημοσ. 6 Σεπτεμβρίου 2010 Δημοσ. 6 Σεπτεμβρίου 2010 Η «ζημιά» γίνεται στην function protect αλλά μην την αλλάξεις γιατί ΠΟΤΕ δεν δέχεσαι απρόσκοπτα τα posts μιας φόρμας. Όπως προαναφέρθηκε, χρησιμοποίησε την replace να αφαιρέσεις αυτά που δεν θέλεις.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.