Показать сообщение отдельно
Непрочитано 14.07.2012, 00:19   #1
Аватар для Romanz

Автор темы (Топик Стартер) Подскажите по скрипту

Доброго времени суток , ребят подскажите есть ли в данном скрипте дырка , а то что то подозрения есть , спасибо

PHP код:
<?php
if ($_POST && isset($_POST['action']) && $_POST['action'] === "give")
{
include (
"config/config.php");
    
mysql_query("SET NAMES cp1251");
    
mysql_select_db($mysql_connect['dbl'], $connect);
    
$acc mysql_real_escape_string($_POST['account']);
    
$pass mysql_real_escape_string($_POST['password']);
    
$r mysql_query("SELECT password FROM `account_data` WHERE name='$acc';");
    if (
mysql_num_rows($r) > 0){
        
$row mysql_fetch_array($r);
        if ((
base64_encode(pack("H*"sha1(utf8_encode($pass))))) == $row['password']){
            
mysql_select_db($mysql_connect['dbg']);
            
$player mysql_real_escape_string($_POST['player']);
            
$r mysql_query("SELECT `id` FROM `players` WHERE `name`='".$player."' AND `account_name`='".$acc."';");
            if (
mysql_num_rows($r) > 0)
            {
                
$id mysql_fetch_assoc($r);
                
$id $id['id'];
                
$ip explode('.'$_SERVER['REMOTE_ADDR']);
                
$ip $ip[0] . '.' $ip[1] . '.' $ip[2] . '.' $ip[3];
                
$file file($topfile);
                
$i 0;
                foreach (
$file as $line)
                {
                    
$parts explode("\t"$line);
                    
$date $parts[1];
                    
$name $parts[3];
                    
$type $parts[4];
                    
$search_name = (eregi($player$name));
                    if(!empty(
$search_name))
                    {
                        
$sql mysql_query("SELECT * FROM `top_vote` WHERE `name` = '".$player."' AND `time` = '".$date."';");
                        
$num_rows mysql_num_rows($sql);
                        
$check false;
                        if (
$num_rows == 0)    $check true;            
                        if (
$check)
                        {
                            
$added false;
                            if (
$type == 2)
                            {
                                
$count $top_bonus['count_sms'];
                            }
                            else
                            {
                                
$count $top_bonus['count_site'];
                            }
                            
$sql mysql_query("SELECT `money` FROM `account_data` WHERE `name` = '".$acc."';");
                            if (
mysql_num_rows($sql) > 0)
                            {
                                
$sql mysql_query("UPDATE `account_data` SET money=`money`+".$count." WHERE name ='".$acc."';");
                                
$added mysql_affected_rows();
                            }
                            else
                            {
                                
$ins_id $char['id'].rand(0,999);
                                
$chk mysql_fetch_row(mysql_query("SELECT `money` FROM `account_data` WHERE name = '".$acc."';"));
                                if(
$chk['0'] != '0') {
                                    
$ins_id $char['id'].rand(0,999);
                                }
                                
$sql mysql_query("INSERT INTO `account_data` SET money='".$count."', name='".$acc."';");
                                
$added mysql_affected_rows();
                            }
                            if(
$added)
                            {
                                
mysql_query("INSERT INTO `top_vote` VALUES ('".$player."', '".$ip."', '".$date."', '".$type."');");
                                
$i $i+$count;
                            }
                        }
                    }
                    
$text "<span style='color:green'>Получено ".$i." поинтов</span><br>";
                }
            }
            else
            {
                
$text "<span style='color:red'>Персонаж не существует.</span><br>";
            }
        }
        else
        {
            
$text "<span style='color:red'>Ошибка при авторизации: Вы указали неверный пароль.</span><br>";
        }
    }
    else
    {
        
$text "<span style='color:red'>Ошибка при авторизации: Такой аккаунт не существует.</span><br>";
    }
    
mysql_close($connect);
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title>Хочу награду за голосование</title>
    <link href="css/style.css" type="text/css" rel=stylesheet>
    <script src="js/jquery.js" type="text/javascript"></script>
    <script src="js/jquery.jNice.js" type="text/javascript"></script>
</head>
<body>

<script type="text/javascript">//<![CDATA[
function isAlphaNumeric(value) {
    return value.match(/^[a-zA-Z0-9]+$/_);
}
function checkform(f) {
    if (f.account.value == "") {
        alert("Не введен аккаунт");
        return false;
    }
    if (!isAlphaNumeric(f.account.value)) {
        alert("Некорректный логин! Используйте только символы и цифры!");
        return false;
    }
    if (f.password.value == "") {
        alert("Не введен пароль");
        return false;
    }
    if (!isAlphaNumeric(f.password.value)) {
        alert("Некорректный пароль! Используйте только символы и цифры!");
        return false;
    }
    if (f.player.value == "") {
        alert("Не введено имя игрока");
        return false;
    }
    return true;
}//]]>
</script>

<div id="wrapper">
    <div class="tooltip"></div>
    <form class="jNice" action="" id="form" method="post" onsubmit="return checkform(this)">
        <table cellSpacing="0" cellPadding="3" align="center" width="400px"  height="80" border="0">
            <tbody>
            <tr>
                <td align="right" width="100"><strong>Логин</strong>:</td>
                <td><input id="account" size=30 name="account" title="Ваш аккаунт"/></td>
            </tr>
            <tr>
                <td align="right"><strong>Пароль</strong>:</td>
                <td><input id="password" type="password" size=30 name="password" title="Ваш пароль"/></td>
            </tr>
            <tr>
                <td align="right"><strong>Имя игрока</strong>:</td>
                <td><input id="player" size=30 name="player" title="Имя игрока за которого хотите получить бонус"/></td>
            </tr>
            <tr>
                <td><input type="hidden" name="action" value="give"></td>
                <td><input id="submit" type="submit" value="Получить" title="Получить ваш бонус за голосование""/>
                    <input type="reset" value="Сброс" title="Сброс полей"/>
                </td>
            </tr>
            <tr>
                <td></td>
            </tr>
            <tr>
                <td colspan="2"><center><?php echo $text ?></center></td>
            </tr>
            </tbody>
        </table>
    </form>
    <script type="text/javascript">
        $("#form :input").tooltip({
            position: "center right",
            offset: [-2, 10],
            effect: "fade",
            opacity: 0.7,
            tip: '.tooltip'
        });
    </script>

</div>
</body>
</html>
__________________
MiR @ Aion Emu
Продам сборки v2.7 v3.9 v4.7 v4.8 v4.9 v5.1 , сборки мастер сервера v1.9 и v2.7 ,пишу скрипты и квесты на заказ , правки ядра , правки даты , писать в ПМ
Romanz на форуме Отправить сообщение для Romanz с помощью ICQ Ответить с цитированием