Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Посмотрите код


Автор: sayber 26.4.2007, 18:53
Вы не моглибы посмотреть код сайта и сказать где тут есть баги через которые можно сломать сайт. Если они есть , напишите плз в личку.

http://varteks.ru/tmp/1.phps
http://varteks.ru/tmp/2.phps
http://varteks.ru/tmp/3.phps
http://varteks.ru/tmp/4.phps

или архив http://varteks.ru/tmp/1.zip


 ! 
PARROT
Код в студию. Читайте правила: http://forum.vingrad.ru/s/7e9242369ab0b951...ct-SR/f-27.html

Автор: sayber 26.4.2007, 19:26
Пожалуйста, код. Просто его много и я положил его в файлы с подсветкой.

Код

<?



function Qsend () {
$fromName = $_GET['name'];
$fromMail = $_GET['email'];

$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= "Content-Type: text/plain; charset=\"utf-8\";
             Content-Transfer-Encoding: 8bit;";
$headers .= 'From: '.$fromName.' <'.$fromMail.'>' . "\r\n";
$headers .= 'Cc: '.$fromMail.'' . "\r\n";
$headers .= 'Bcc: '.$fromMail.'' . "\r\n";
            

$msg = <<<EOF

$p1 {$_GET['firma']}

Ф.И.О. {$fromName}

Телефон для связи: {$_GET['phone']}

Email: {$_GET['email']}

Вопрос: {$_GET['qtext']}

EOF;




mail("info@rivatech.ru","{$_GET['quest']}", $msg, $headers);

print "<font color=green>Спасибо за заданый вами вопрос! Вам скоро ответят.</font>";


    
}

header("Content-type: text/plain; charset=windows-1251");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);

include_once 'pquery/pquery.php';
    
    $task=isset($_GET['task'])?$_GET['task']:'view';

    switch($task)
    {
        case "ajax": echo ''.$_GET['name'];
        return ;

        case "valmail":
            $email = $_GET['email'];
            if (eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)) echo '<font color="GREEN">Все правельно</font>';
            else echo '<font color="RED">Напишите настоящий адрес</font>';
            return ;

        case "quest":
            $quest = $_GET['quest'];
            if (!empty($quest)) echo '';
            else echo '<font color="RED">Поле <b>"Тема вопроса"</b> обязательно для заполнения!</font><br><br><br><br>';

            $name= $_GET['name'];
            if (!empty($name)) echo '';
            else echo '<font color="RED">Поле <b>"Ваше имя"</b> обязательно для заполнения!</font><br><br><br><br>';

            $email = $_GET['email'];
            if (!empty($email)) echo '';
            else echo '<font color="RED">Поле <b>"Электронной почты"</b> обязательно для заполнения!</font>';
            
            if (!empty($quest) && !empty($name) && !empty($email)) {
        

Qsend();
                
                
}
            
            return;

    }
    
    
    


?>



Код


<?



if (isset($_POST['AddFileLoad'])) {
    

$uploaddir = 'uploads/files/';
$uploadfile = $uploaddir . basename($_FILES['file']['name']);

print "<pre>";
if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) {
    print "File is valid, and was successfully uploaded. ";
    print "Here's some more debugging info:\n";
    print_r($_FILES);
} else {
    print "Possible file upload attack!  Here's some debugging info:\n";
    print "Possible file upload attack!  Дополнительная отладочная информация:\n";
    print_r($_FILES);
}
print "</pre>";

 }


?>



Код

<?

if ($is_logged == TRUE) { //ПРоверка - админ или нет
    

if (isset($_POST['ADDs'])) {
    
 for($i=0; $i<count($_POST['s_id']);$i++){
       $shopid = $_POST['s_id'][$i];
    }
$db->query("INSERT INTO s2_shop_cart VALUES ('','".$_POST['userid']."', '".$shopid."' ,'confirm')");

    
} else if (isset($_POST['DELs'])) {
    
     for($ai=0; $ai<count($_POST['c_id']);$ai++){
       $delid = $_POST['c_id'][$ai];
    }
$db->query("DELETE FROM s2_shop_cart WHERE c_id = '".$delid."'" );
    
}
    
    
    
    
$sql = $db->query("
SELECT  
    shop.s_id, 
    shop.s_name, 
    shop.s_price, 
    cart.c_id, 
    cart.c_userid, 
    cart.c_shopid, 
    cart.c_confirm,
    COUNT(cart.c_shopid) as Scount,
    SUM(shop.s_price) as Sprice
FROM 
    s2_shop AS shop LEFT JOIN s2_shop_cart AS cart ON shop.s_id = cart.c_shopid
WHERE 
    cart.c_userid = '".$userid."' AND cart.c_confirm = 'confirm'
GROUP BY 
    cart.c_shopid

");


$cart .= <<<EEE
<h5><img src="{THEME}/images/arrow.png" alt=""> ВАША КОРЗИНА</h5>

<div id="cart">
<div id=cartLine>
Ваша корзина:
</div>
<div style="padding:3px;">
<table style="width: 100%" border="0" cellpadding="0" cellspacing="0"  align=center>
    <tr>
<td><b>Наименование</b></td>

<td width=100 align=center><b>Сумма</b></td>
<td width=90 align=center><b>Кол-во</b></td>
<td width=100 align=center><b>Управление</b></td>

    </tr>
EEE;
while($row = $db->get_row($sql))
    {

        $cart .= <<<EOF
        
<tr>
    <td ><a href="/?do=shop&ViewShop={$row['s_id']}">{$row['s_name']}</a></td>
    

    
    <td align=center>{$row['Sprice']}</td>
    
    <td align=center>{$row['Scount']}
    
    </td>
        
    <td align=center>
<form name="f{$row['s_id']}" action="#" method="post" target="_self">
     <input name="ADDs" type="submit" class="adddel_1" value=" + "  /> 
     <input name="DELs" type="submit" class="adddel_2"  value=" - "  />
     <input type="hidden" name="s_id[]" value="{$row['s_id']}" />
     <input type="hidden" name="c_id[]" value="{$row['c_id']}" />
     <input type="hidden" name="userid" value="{$userid}" />
</form>


    </td>
    </tr>


EOF;
        
    }

$cart .= <<<EEE

</table>
</div>

</div> 

EEE;
    
} 

?>



Код

<?


/*=======================================================
::::::::::::::: МОДУЛЬ ИНТЕРНЕТ-МАГАЗИНА ::::::::::::::::
=======================================================*/


//-----------------------------------------
//  ID пользователя
//-----------------------------------------


$userid = $member_id['user_id'];




/*=======================================================
:::::::::::::::::: КАТЕГОРИИ МАГАЗИНА :::::::::::::::::::
=======================================================*/

if (!isset($_GET['ViewShop'])) {    

if (!isset($_GET['View1C'])) {

$ShowCatShop = '<h5><img src="{THEME}/images/arrow.png" alt=""> КАТЕГОРИИ В НАШЕМ МАГАЗИНЕ</h5>';    
    
$sql = $db->query("
SELECT 

* 

FROM 

s2_shop_category   

ORDER BY catid
");



    while($row = $db->get_row($sql))
    {
        
$ShowCatShop .= "
<div onclick=\"DoShop('".$row['catid']."');\" onMouseOver=\"this.className='rFiles2'; this.style.cursor='hand';\" onMouseOut=\"this.className='rFiles';\" class=\"rFiles\">".$row['catname']."</div>
    ";    
        
    }
    
} else if (isset($_GET['View1C'])) {

$Ct = $_GET['View1C'];


/*=======================================================
::::::::::::: ПРОСМОТР ТОВАРОВ В КАТЕГОРИИ ::::::::::::::
=======================================================*/


//-----------------------------------------
// Добавление товара в корзину
//-----------------------------------------


if (isset($_GET['AddThis'])) {
    
$db->query("INSERT INTO s2_shop_cart VALUES ('','".$userid."', '".$_GET['AddThis']."' ,'confirm')");
    
    
    
}


//-----------------------------------------
// Выявление категории
//-----------------------------------------

if (isset($Ct)) {
$sql=$db->query("SELECT catid, catname FROM s2_shop_category WHERE catid = '{$Ct}'");
$row = $db->get_row($sql);
$imya_cat = $row['catname'];
}


//-----------------------------------------
// Вывод название категории
//-----------------------------------------


$ShowAllShop = '<h5><img src="{THEME}/images/arrow.png" alt=""> 
<a href="/?do=shop">КАТЕГОРИИ</a> / '.$imya_cat.' </h5>';








if ($row['catid'] == $Ct) {    
    
    
//-----------------------------------------
// Вывод товаров
//-----------------------------------------


$sql = $db->query("SELECT * FROM s2_shop WHERE s_cat = '{$Ct}'");
while($row = $db->get_row($sql))
    {
        
        
$ShowAllShop .= <<<SHOW
        <br>
<div style="height:120px; padding-top:10px; padding-bottom:10px; border-bottom:5px solid #c8e498;">


<div style="width:600px; padding:6px; ">
    

    <div style=" float: left;  border:1px solid #CCCCCC;">
    <img src="/uploads/shop/{$row['s_pic']}">
    </div>
    <div style="padding-left:190px">
    
    


    <b><a href="/?do=shop&ViewShop={$row['s_id']}">{$row['s_name']}</a></b><br><br>
    {$row['s_short']}
    
    </div>
</div>


</div>

<div style="padding-bottom:10px;">
SHOW;




//-----------------------------------------
// Можно добавлять или нет в корзину
//-----------------------------------------


if ($is_logged == TRUE) {
    
    $ShowAllShop .= <<<WWW
    <div align=right id="sprice" style="float:left">
        <a href="/?do=shop&View1C={$_GET['View1C']}&AddThis={$row['s_id']}">В корзину</a>
    </div>
WWW;
    
    
} else {
    
        $ShowAllShop .= <<<WWW
    <div align=right id="sprice" style="float:left">
        <a href="/?do=register">РЕГИСТРАЦИЯ</a>
    </div>
WWW;
    
}


$ShowAllShop .= <<<SHOW
    <div align=right id="sprice">
        ЦЕНА: <b>{$row['s_price']}</b> руб.
    </div>
</div>

        
SHOW;
        
    
    


}
} else {
        
        $ShowAllShop .= <<<WWW
    <div align=right id="sprice" >
        <b>Такой категории не существует</b>
    </div>
WWW;
        
    }
    
    
    
    
    
    

} 





}else {
    
    $sql=$db->query("SELECT * FROM s2_shop WHERE s_id = '{$ViewShop}'");
$row = $db->get_row($sql);
    
$ShowTOVAR = <<<EEE
<h5><img src="{THEME}/images/arrow.png" alt=""> 
<a href="/?do=shop">КАТЕГОРИИ</a> / {$row['s_name']} </h5>


EEE;
    
    


    
$ShowTOVAR .= <<<SHOW
        <br>



<div style="width:600px; padding:6px; ">
    

    <div>
    <img src="/uploads/shop/{$row['s_pic']}" align=left id="padding-img">

    
    


    
    {$row['s_short']}{$row['s_full']}
    
    
</div>




<div style="padding-bottom:10px;">
SHOW;


if ($is_logged == TRUE) {
    
    $ShowTOVAR .= <<<WWW
    <div align=right id="sprice" >
        <a href="/?do=shop&View1C={$_GET['View1C']}&AddThis={$row['s_id']}">В корзину</a>
    </div>
WWW;
    
    
} else {
    
        $ShowTOVAR .= <<<WWW
    <div align=right id="sprice">
        <a href="/?do=register">РЕГИСТРАЦИЯ</a>
    </div>
WWW;
    
}
    
    
}

//-----------------------------------------
// Корзина
//-----------------------------------------


include("engine/inc/shopcart.inc.php");


//-----------------------------------------
// В шаблон
//-----------------------------------------


$tpl->load_template('shop.tpl'); 
$tpl->set('{ShowTOVAR}', $ShowTOVAR);
$tpl->set('{ShowAllShop}', $ShowAllShop);
$tpl->set('{ShowAllCart}', $cart); 
$tpl->set('{ShowCatShop}', $ShowCatShop);
$tpl->compile('content'); 
$tpl->clear();





?>

Автор: WolfON 26.4.2007, 19:51
Ой ужс  smile 
Про, хотя-бы, разделение кода и шаблонов я не говорю, но в 21 веке уже вроде все должны понимать, что данным от пользователя доверять нельзя и как минимум фильтровать спецсимволы

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)