[Release] Защита срещу Флоодване на mysql сървъра

Protect

Active Member
Joined
May 30, 2008
Messages
989
Reaction score
150
Това не е точно защита нопредпазва от това примерно да се правят регистрации с име което вече съществува, да се качват еднакви песни или каквото си поискате просто променяте заявката.

PHP:
$namecheck = $_POST['name'];
$check = mysql_query("SELECT name FROM songs WHERE name = '$namecheck'")
or die(mysql_error());
$check2 = mysql_num_rows($check);

if ($check2 != 0) {
die('Съжелявам, песента с име '.$_POST['name'].' вече е качена от друг потребител.');
}
Тук съм я дал така както е в моят саит за музика, ето как ще изглежда:
PHP:
<?
if($_POST['name'])
{
$name2 = $_POST['name'];
$link2 = $_POST['link'];
$author = $_SESSION['username'];
$name = htmlspecialchars("$name2");
$link = htmlspecialchars("$link2");
$new = $chislo + 1;
$namecheck = $_POST['name'];
$check = mysql_query("SELECT name FROM songs WHERE name = '$namecheck'")
or die(mysql_error());
$check2 = mysql_num_rows($check);

if ($check2 != 0) {
die('Съжелявам, песента с име '.$_POST['name'].' вече е качена от друг потребител.');
}

$linkcheck = $_POST['link'];
$check5 = mysql_query("SELECT link FROM songs WHERE link = '$linkcheck'")
or die(mysql_error());
$check2 = mysql_num_rows($check5);

if ($check2 != 0) {
die('Съжелявам, песента с линк '.$_POST['link'].' вече се използва от друг потребител.');
}


{
$sql = "INSERT songs (name, author, link, views, downs) VALUES ('$name', '$author', '$link', '0', '0')";
if(mysql_query($sql) != "")
{
$sql3 = "UPDATE users SET uploads = uploads +1 where username='$author';";
if(mysql_query($sql3) != "")
{

$sql2 = mysql_query("SELECT * FROM songs ORDER BY id DESC LIMIT 1");
while ($row = mysql_fetch_array($sql2))
{
echo 'Песента е качена успешно! <a href="index.php?m=play&id='.$row['id'].'">Преглед!</a><br>';
}
}
else
{
echo 'Има някаква грешка!<br/>';
}
}
}
}
?>

Credits:Не ми е помогнал никои друг освен аз самият. (rofl)
 
Last edited:
Преди известно време (1 месец) , беше написал ,че все още се учиш на php и изобщо на виртуалните езици... как изведнъж написа скрипт против флуудване... според мен нещата не идват от горе...
 
  • Like
Reactions: Gasolincho
Преди известно време (1 месец) , беше написал ,че все още се учиш на php и изобщо на виртуалните езици... как изведнъж написа скрипт против флуудване... според мен нещата не идват от горе...
Абе артик това е прост скрипт които проверява дали съществува дадена заявка примерно дали вече има качена песен с такъв линк или вече има регистриран потребител с това име.
Аз немога да те разбера при положение че си релиисвал неможеш да вникнеш в съдържанието и да разбереш че няма нищо сложно в него?
 
Абе артик това е прост скрипт които проверява дали съществува дадена заявка примерно дали вече има качена песен с такъв линк или вече има регистриран потребител с това име.
Аз немога да те разбера при положение че си релиисвал неможеш да вникнеш в съдържанието и да разбереш че няма нищо сложно в него?


То няма нищо сложно в него ,да , но ако започне някой да "учи" php, за 1-2 месеца и това според АЗ няма да може....както и да е.. мисля,че това е твоя дейност според мен, така че браво.
 
$_GET and $_POST

Са незащитени заявки.
 
$_GET and $_POST

Са незащитени заявки.

Дам и за това съм написал това:

Code:
// Secure Function by killar4eto since 2008/05/14
function secure(){
if((isset($_POST)) OR (isset($_GET)))
{
foreach($_GET AS $value)
{
if(preg_match('/DROP|SHUTDOWN|;|http|@/i', $value))
{
 print "<center><font color=RED>".secure."</font></center>";
 exit();
}
}
foreach($_POST AS $value)
{
if(preg_match('/DROP|SHUTDOWN|;|http/i', $value))
{
 print "<center><font color=RED>".secure."</font></center>";
 exit();
}
}
}
}