как да защита този код напълно

Pro_Lamer4e

Registered
Код:
<?php include "connect.php";
$id = (int) $_GET['id']; 
$sql = mysql_query("SELECT * FROM `music` WHERE `id`='$id'"); 
$row = mysql_fetch_array($sql); 
$view = $row['views'];

$cat = $row['cat'];

$author = $row['author'];
$downs = $row['downs'];
$views = $row['views'];
$date = $row['date'];
?>	
<div class="border titleBarPanel boxNews" id="box8">
	<div class="containerHead">
		<div class="containerIcon">
			<a href="javascript: void(0)" onclick="openList('news9', { save:true })"><img src="work/icon/minusS.png" id="news8Image" alt="" /></a>
		</div>
		<div class="containerContent">
			<h3>Вие слушате: <?php echo $row['name']; ?> </h3>
		</div>
	</div>
	<div class="container-1" id="news9">
		<div class="content containerContent">

<?php
if($row[ok] == '0')
{
echo "<b><font color='red'>Песента не е одобрена все още !</font></b>";
}
else {
?> 
<?
$newdown = $view + 1;
$sql3 = "UPDATE music SET views='$newdown' where id='$id'";
$ress = mysql_query($sql3);
?>
<div align="right">
<a href="add-music.php"><img src="images/add.gif" border="0" height="14" title="Добави песен !"></a>
<a href="admin/edit-music.php?id=<? echo $row['id']; ?>"><img src="images/edit-mini.gif" border="0" title="Редактирай !"></a>
<a href="http://www.facebook.com/share.php?u=<?php echo $sitename?>play.php?=play%26id=<? echo $row['id']; ?>"target="_blank"><img src="images/facebook-mini.png" border="0" title="Сподели във facebook !"></a>
</div>






<table class="datatable" border="0" cellpadding="0" cellspacing="2" width="100%">

    
     

   

        <tbody>
		  <tr>
            <td class="addedlyricone" align="left" width="17%">име:</td>
            <td class="addedlyricone" align="left">
            <a class="playsonga"><span style="font-weight: bold;"><font color="lime"><?php echo $row['name']; ?> </font></span></a>            </td>
        </tr>
		
        <tr>
            <td class="addedlyricone" align="left" width="17%">Жанр:</td>
            <td class="addedlyricone" align="left">
            <a class="playsonga"><span style="font-weight: bold;"><font color="red"><?php echo $cat ?></font></span></a>            </td>
        </tr>

        <tr>
            <td class="addedlyricone" align="left" width="17%">Теглена:</td>
            <td class="addedlyricone" align="left"><span style="font-weight: bold; color: #7CAD00;"><?php echo $downs ?> пъти</span></td>
        </tr>

        <tr>
            <td class="addedlyricone" align="left" width="17%">Качил:</td>
                        <td class="addedlyricone" align="left"><a href="/user/<? echo $author ?>"> <? echo $author ?> </a> <span style="color: #666666; font-size: 11px;">(<? echo $date ?>)</span></td>
        </tr>

        <tr>
            <td class="addedlyricone" align="left" width="17%">Прегледана:</td>
                        <td class="addedlyricone" align="left"><span style="font-weight: bold; color: #0084ff;"><?php echo $views ?></span></td>
        </tr>



        <tr>
            <td class="addedlyricone" align="left" width="17%">Линк за споделяне:</td>
            <td class="addedlyricone" align="left">
		<span style="font-weight: bold; color: #0084ff; margin-right: 120px;">
		<a href="<?php echo $sitename?>play.php?=play&id=<? echo $row['id']; ?>"><?php echo $sitename?>play.php?=play&id=<? echo $row['id']; ?></a>	</span>

		
		         </td>
        </tr>

        <tr>
            <td class="addedlyricone" align="left" width="17%">Свали файла:</td>
            <td class="addedlyricone" align="left"><span style="font-weight: bold; color: #0084ff;"><a href="download.php?id=<?php echo $row['id']; ?>" class="button"><span class="download"><img src="/images/dw2.png" border="0" height="37" width="131" title="Добавил:"></span></a></span></td>
        </tr>

	
	
        <tr>
	    <td class="addedlyricone" colspan="2" align="center" height="35px">
				<br><center>
<embed id="ply" height="23" width="295" flashvars="file=<?php echo $row['play']; ?>&volume=50&frontcolor=#00ccff&backcolor=#151515&lightcolor=#d90094&autostart=true" wmode="opaque" allowscriptaccess="always" quality="high" name="ply" style="" src="/play/player3.swf" type="application/x-shockwave-flash">
</center>


                <span style="color: #e2955f">Натоварен или отдалечен сървър!<br> Моля, изчакайте 15 - 30сек.</span>
    	    </td>
        </tr>
		<tr>
	    <td class="addedlyricone" colspan="2" align="center" height="35px">
		<?php require "include/music-comments.php";?>
 </td>
        </tr>
	
            </tbody></table>
<?
}
?>
 
Какво искаш да му защитиш точно?
Имаш само 1 семпла заявка по ид, която ползва входни данни.
(int) прави входните ти данни целочислени.
Ако id ти е >0 просто сложи проверка дали е >0
 
Как разбра, че е точно заради този код ?
А иначе гледам, че може да ти сложат без проблем някъв JS.
Слагай htmlspecialchars като визуалиизираш.
 
Код:
$id = addslashes(strip_tags(trim($_GET['id'])));


И моляте дай ми линк кън сайта ти аз щети кажа къде има дупки ти щеми дадеш файловете аз щеги оправям ако си съгласен де :)
 
ммм видях логовете :) на апачето и ми стана ясно няма да лъжа 12гб лог съм прочел..... и всички сял инжетки водеха към точно този код

edit: няма ли да е по добре на всякаде да ползвам mysql_escape_string
 
Pro_Lamer4e каза:
ммм видях логовете :) на апачето и ми стана ясно няма да лъжа 12гб лог съм прочел..... и всички сял инжетки водеха към точно този код

edit: няма ли да е по добре на всякаде да ползвам mysql_escape_string
Интерестно ми е с какъв редактор си отворил този 12ГБ файл...
Постни логовете тук за да разберем откъде идва проблема..
 
Така :)
Давам последен пример за явно преобразуване на типове данни, защото виждам че все още твърдите, че от там може да мине зловреден код.

Да, mysql_real_escape_string се използва при заявки. Действието му е да ескейпва специални символи.

Това което имаш горе (int) $_GET['id'] обаче няма как да се премине.

И преди всички да сте почнали да спорите, моля пуснете този код и вижте какво се визуализира.
Код:
<?
echo (int) 'aosiudfyas';
echo (int) '987123';
echo (int) '-12.125,1';
echo (int) '" OR 1=1"';
echo (int) '"\'&*%^@^#()*AS()DD';
?>

Гледам include-ваш някакви файлове.

Също така, какво имаш в предвид под "ми зеха username и password".
Кой юзернейм и парола? На сайта? На mysql? На хоста?
 

Горе