yeahz Posted January 9, 2011 Report Share Posted January 9, 2011 Kādēļ kad pievieno komentāru, tad viņš reizēm pievienojas 2x un ļoti reti pat 3x? if (isset($_POST['comment']) && !LOGGEDIN) { $error = ''; if (is_empty($_POST['comment']) || is_empty($_POST['name'])) $error = $error . "<div class='error'>Neatstāj tukšu nevienu lauku!</div>"; if ($_POST['captcha'] != "502") $error = $error . "<div class='error'>Nepareizs apstiprinājuma kods ievadīts!</div>"; if (!empty($error)) { $error = $error; } else { $comment = quote_smart($_POST['comment']); $time = time(); $loggedout_owner = quote_smart($_POST['name']); $article_id = $_GET['id']; mysql_query("INSERT INTO comments (text, time, loggedout_owner, article_id) VALUES ($comment, $time, $loggedout_owner, $article_id)") or die(mysql_error()); header("location: $_SERVER[REQUEST_URI]"); } } Quote Link to comment Share on other sites More sharing options...
e-remit Posted January 9, 2011 Report Share Posted January 9, 2011 Tādēļ, ka daži pārlūki iegūst ātrumu ar paralēliem pieprasījumiem, dažkārt proxy serveri tā izdara, bet dažkārt arī ir novērots, ka pats php serveris tā izdarās. Dažkārt cilvēki atkārtoti posto, spiežot <Back>. Vnk. ieliec papildus pārbaudi, lai nepieļautu dubultpostus un tas atrisinās problēmu ar visiem gadījumiem. Quote Link to comment Share on other sites More sharing options...
briedis Posted January 9, 2011 Report Share Posted January 9, 2011 wow, ko dara šī rindiņa? :))) if (!empty($error)) { $error = $error; } $article_id = $_GET['id']; - caurums sql injekcijām. Quote Link to comment Share on other sites More sharing options...
yeahz Posted January 9, 2011 Author Report Share Posted January 9, 2011 wow, ko dara šī rindiņa? :))) if (!empty($error)) { $error = $error; } $article_id = $_GET['id']; - caurums sql injekcijām. zinu zinu, ka nedara neko tā rindiņa :) un tas par $article_id - nav tur caurums, jo neparādīju jau to, kas ir sākumā pirms šī koda, tur pārbauda visu par $article_id :) Quote Link to comment Share on other sites More sharing options...
rebuilder Posted January 9, 2011 Report Share Posted January 9, 2011 Nez kāpēc man šķiet, ka ja pirms koda pārbaudi $article_id, tas neko nedos :D Quote Link to comment Share on other sites More sharing options...
mounkuls Posted January 9, 2011 Report Share Posted January 9, 2011 Tieši tā,kamēr neesi tam piešķīris ko citu, $_GET['id'] būs tas pats ko iebaro pieprasījumā lietotājs. Filtrēt datus vajag jau pirms tos kur pielieto. Quote Link to comment Share on other sites More sharing options...
sheps Posted January 10, 2011 Report Share Posted January 10, 2011 nedublēsies posti ja tavs captcha būs mainīgs lielums nevis kā tavā gadījumā 502 Quote Link to comment Share on other sites More sharing options...
daGrevis Posted January 10, 2011 Report Share Posted January 10, 2011 nedublēsies posti ja tavs captcha būs mainīgs lielums nevis kā tavā gadījumā 502 Nevis dubultposti, bet spams. =D Quote Link to comment Share on other sites More sharing options...
Kemito Posted January 10, 2011 Report Share Posted January 10, 2011 Nevis "nav caurums", bet manliekas, ka elementāras lietas kā funkcija mysql_real_escape_string() vai intval() tādas ekstras derētu piekopt. Never trust your brain. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.