Странициране защита

niksdevil

Registered
Някой да помогне ?
Код:
	<?
						$num  =  mysql_num_rows(mysql_query("select * from videos where category>0"));
						$pages = round($num/$pp);
						$first = $page;
						$second = $page+1;
						$third = $page+2;
						$fourth = $page+3;
						$fifth = $page+4;
						$sixth = $pages;
						if($page==1){
							echo "
								<a href = 'index.php?page=videos&cat=$cat&p=$first'><div class = 'page2'>$first</div></a>
								<a href = 'index.php?page=videos&cat=$cat&p=$second'><div class = 'page'>$second</div></a>
								<a href = 'index.php?page=videos&cat=$cat&p=$third'><div class = 'page'>$third</div></a>
								<a href = 'index.php?page=videos&cat=$cat&p=$fourth'><div class = 'page'>$fourth</div></a>
								<a href = 'index.php?page=videos&cat=$cat&p=$sixth'><div class = 'page'>$sixth</div></a>
								";
						}elseif($page==2){
							$first = ($page-1);
							$second = $page;
							$third = $page+1;
							$fourth = $page+2;
							$sixth = $page+3;
							echo "
								<a href = 'index.php?page=videos&cat=$cat&p=$first'><div class = 'page'>$first</div></a>
								<a href = 'index.php?page=videos&cat=$cat&p=$second'><div class = 'page2'>$second</div></a>
								<a href = 'index.php?page=videos&cat=$cat&p=$third'><div class = 'page'>$third</div></a>
								<a href = 'index.php?page=videos&cat=$cat&p=$fourth'><div class = 'page'>$fourth</div></a>
								<a href = 'index.php?page=videos&cat=$cat&p=$sixth'><div class = 'page'>$sixth</div></a>
								";
						}
						elseif($page==3){
							$first = ($page-2);
							$second = $page-1;
							$third = $page;
							$fourth = $page+1;
							$sixth = $page+2;
							echo "
								<a href = 'index.php?page=videos&cat=$cat&p=$first'><div class = 'page'>$first</div></a>
								<a href = 'index.php?page=videos&cat=$cat&p=$second'><div class = 'page'>$second</div></a>
								<a href = 'index.php?page=videos&cat=$cat&p=$third'><div class = 'page2'>$third</div></a>
								<a href = 'index.php?page=videos&cat=$cat&p=$fourth'><div class = 'page'>$fourth</div></a>
								<a href = 'index.php?page=videos&cat=$cat&p=$sixth'><div class = 'page'>$sixth</div></a>
								";
						}elseif($page>=4 and $page!=$pages){
							$first = ($page-3);
							$second = $page-2;
							$third = $page+-1;
							$fourth = $page;
							$sixth = $page+1;
							$seventh = $page+2;
							$eight = $page+3;
							echo "
								<a href = 'index.php?page=videos&cat=$cat&p=$first'><div class = 'page'>$first</div></a>
								<a href = 'index.php?page=videos&cat=$cat&p=$second'><div class = 'page'>$second</div></a>
								<a href = 'index.php?page=videos&cat=$cat&p=$third'><div class = 'page'>$third</div></a>
								<a href = 'index.php?page=videos&cat=$cat&p=$fourth'><div class = 'page2'>$fourth</div></a>
								<a href = 'index.php?page=videos&cat=$cat&p=$sixth'><div class = 'page'>$sixth</div></a>
								<a href = 'index.php?page=videos&cat=$cat&p=$seventh'><div class = 'page'>$seventh</div></a>
								<a href = 'index.php?page=videos&cat=$cat&p=$eight'><div class = 'page'>$eight</div></a>
								";
						}
						elseif($page==$pages){
							$first = ($page-6);
							$second = $pages-5;
							$third = $pages-4;
							$fourth = $pages-3;
							$sixth = $pages-2;
							$seventh = $pages-1;
							$eight = $pages;
							echo "
								<a href = 'index.php?page=videos&cat=$cat&p=$first'><div class = 'page'>$first</div></a>
								<a href = 'index.php?page=videos&cat=$cat&p=$second'><div class = 'page'>$second</div></a>
								<a href = 'index.php?page=videos&cat=$cat&p=$third'><div class = 'page'>$third</div></a>
								<a href = 'index.php?page=videos&cat=$cat&p=$fourth'><div class = 'page'>$fourth</div></a>
								<a href = 'index.php?page=videos&cat=$cat&p=$sixth'><div class = 'page'>$sixth</div></a>
								<a href = 'index.php?page=videos&cat=$cat&p=$seventh'><div class = 'page'>$seventh</div></a>
								<a href = 'index.php?page=videos&cat=$cat&p=$eight'><div class = 'page2'>$eight</div></a>
								";
						}
						?>
 
Значи някъде по кода ти (тук не си го дал) трябва да имаш:

PHP:
$pp = $_GET['p'];

Това го правиш:

PHP:
$pp = (int)$_GET['p'];

Също така:

PHP:
$cat = (int)$_GET['cat'];

Там където очакваш да е число му слагаш един (int) или проверяваш със is_numeric();
 
Другата част
Код:
<?
                    if (!$_GET[p]) {
                        $page = 1;
                    } else {
                        $page = filter($_GET[p]);
                    }
                    if ($page < 0) {
                        $page = $page + 1;
                        redict("index.php?page=top&p=$page", 0);
                    }
                    $min = ($page * 20) - 20;
                    $pp = (int)20;
$cat = (int)$_GET['cat'];
                    if ($cat <> 0) {
                        $query = mysql_query("select * from videos where category='$cat' order by `id` DESC limit $min,$pp");
                        $prev = $page - 1;
                        $prev = "$prev&cat=$cat";
                        $next = $page + 1;
                        $next = "$next&cat=$cat";
                    } else {
                        $query = mysql_query("select * from videos order by `id` DESC limit $min,$pp");
                        $prev = $page - 1;
                        $next = $page + 1;
                    }
                    $color = 1;
                    $i = $min;
                    while ($row = mysql_fetch_array($query)) {
                        echo "
										<a href=index.php?page=video&id=$row[id]><div class='lastvideo' style='margin-top:0px;'>
										<div class='lastvideoimg'>
												<img src='$row[img]' width='100' class='tooltipvideo' id=$row[id]>
										</div>
									<div class='zaglavie2'>$row[name]</div>
									</div></a>";
                    }
                    ?>
 
Сега
PHP:
 $pp = (int)20;
На това няма смисъл .. ти си въвел число.

Имах предвид одеве, че когато очакваш информация от потребителя винаги е валидирай според това какъв тип очакваш да е. Примерно $_GET, във твоя случай праща номера на следващата страница примерно, сега ако потребителя въведе вместо число нещо друго, нали знаеш, че резултата ще е доста странен? За това каствай със (int), ако е число. Ако не е число, тогава htmlspecialchars примерно или някой регулярен израз според това каква информация очакваш.

Сега гледам, че тук имаш някаква функция filter();

PHP:
$page = filter($_GET[p]);

Ако може напиши и нея във темата, за да видим как ти помога тя във валидирането на входните данни.
 

Back
Горе