|
|
|
| помогите!
мне многие говорят что какието дырки есть вот в таком запросе
function pef($pages)
{
$ath = mysql_query("select * from pages where cms_id = $_GET[cms_id]");
if($ath)
{
while($author = mysql_fetch_array($ath))
{
echo "".$author['cms_text']."";
}
}
else
{
echo "<p><b>Error: ".mysql_error()."</b><p>";
exit();
}
return;
}
|
да и в общем какие защитные действитвия по мускулу нуны? | |
|
|
|
|
|
|
|
для: Panker
(19.08.2006 в 19:35)
| |
<?
$ath = mysql_query("select * from pages where cms_id = " . (int) $_GET[cms_id] . ")";
?>
|
| |
|
|
|
|
|
|
|
для: RV
(19.08.2006 в 19:44)
| | оштбка Parse error: parse error, unexpected ';' in y:\home\newcms\www\index.php on line 16 | |
|
|
|
|
|
|
|
для: RV
(19.08.2006 в 19:44)
| | Я бы сделал по другому, ты вот так приводишь тип к целочисленному, а если там хакер попробывал ввести какую-либо строку, то она привратится в число. Конечно, полученный id врядли будет существовать. Я бы сделал так.
<?
is_numeric($_GET[cms_id]) ? $id = $_GET[cms_id] : $id = 0 ;
$ath = mysql_query("select * from pages where cms_id = '$id'";
?>
|
| |
|
|
|
|
|
|
|
для: cyberface
(19.08.2006 в 21:58)
| |
Я фигею...блин, поставь себе TranslateIT...
Перевожу ошибку:
Обнаружена ошибика: неожиданный ';' в y:\home\newcms\www\index.php на строке 16
Выводы делай сам..
|
прости конечно, я не в обиду и не в оскарбление, прсото хочу сказать что бы Вы фигели про себя, зарание спасибо!
а на счёт
<?
is_numeric($_GET[cms_id]) ? $id = $_GET[cms_id] : $id = 0 ;
$ath = mysql_query("select * from pages where cms_id = '$id'";
?>
|
я сделал по другому!
защита от всего помойму на данном этапе!
рег выражения
от хтмл от фраз
кочрео вот код
<?php
Error_Reporting(E_ALL & ~E_NOTICE);
require_once("include/mysql.php");
$pages = $_GET['cms_id'];
$pages = htmlspecialchars($pages);
$pages = trim($pages);
$pages=stripslashes($pages);
$pages=str_replace( " " ,' ' ,$pages);
$pages=str_replace( "&" ,'&' ,$pages);
$pages=str_replace( "<!--" ,'<!--',$pages);
$pages=str_replace( "-->" ,'-->' ,$pages);
$pages=preg_replace( "/<script/i",'<script' ,$pages);
$pages=str_replace( ">" ,'>' ,$pages);
$pages=str_replace( "<" ,'<' ,$pages);
$pages=str_replace( "\"" ,'"' ,$pages);
$pages=preg_replace( "/\n\n/" ,'<p>' ,$pages);
$pages=preg_replace( "/\n/" ,'<br>' ,$pages);
$pages=preg_replace( "/\\\$/" ,'$' ,$pages);
$pages=preg_replace( "/\r/" ,'' ,$pages);
$pages=preg_replace( "/\\\/",'\', $pages);
$pages=str_replace("\r\n","<br>", $pages);
$pages=str_replace("\n\n",'<p>', $pages);
$pages=str_replace("\n",'<br>', $pages);
$pages=str_replace("\t",' ', $pages);
$pages=str_replace("\r",' ', $pages);
$pages=str_replace(' ',' ', $pages);
$pages=str_replace("0173",' ', $pages);
$pages=str_replace("%AD",' ', $pages);
$pages=str_replace("­",' ', $pages);
$pages=str_replace("", "", $pages);
require_once("templars/business/index.php");
function pef($pages)
{
if(!preg_match("/[0-9]/i", $pages))
{ echo "ERROR ID"; }
else
{
$pagesth = mysql_query("select * from pages where cms_id = $pages");
if($pagesth)
{
while($pagesuthor = mysql_fetch_array($pagesth))
{
echo "".$pagesuthor['cms_text']."";
}
}
else
{
echo "<p><b>Error: ".mysql_error()."</b><p>";
exit();
}
}
return;
}
?>
|
| |
|
|
|
|
|
|
|
для: Panker
(19.08.2006 в 22:51)
| |
<?
is_numeric($_GET[cms_id]) ? $id = $_GET[cms_id] : $id = 0 ;
$ath = mysql_query("select * from pages where cms_id = '$id'";
?>
|
этот весь код помещается в одну строку
<?
$ath = mysql_query("select * from pages where cms_id = " . (int) $_GET['id']);
?>
|
| |
|
|
|