[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Быстрый скрипт
ivxg
Каждый новичек, по моему мнению, сталкивается с этой проблемой.
При разработке скриптов многие из нас не делают его с учетом того, что обращений к скрипту может быть десятки тысяч за минуту, а того и более...

Я создал эту тему, что бы на примере небольшого скрипта можно было проанализировать, где именно скрипт начнет давать сбой и как этого избежать, ведь, я так полагаю каждый хотел бы видеть на своем счетчике шестизначное число посетителей...

И так. Простой скрипт вывода каталога чего бы то ни было на страницу.

В самом начале мы подключаемся к базе данных:


include"bin/sql.php";


Далее (а ранее мы в ссылке передали параметр в котором содержится фильт для выводимых значений. В моем случае это научная дисциплина, а эта страница будет выводить из таблицы все файлы относящиеся к этой дисциплине) мы обращаемся к таблице:


$dirname = $_GET['dirname'];
if (isset($dirname))
{
$query = "SELECT direction_name, direction_name_r FROM books_direction WHERE dirname LIKE '%$dirname%'";
$sql = mysql_query($query);
while ($dp = mysql_fetch_object($sql)) {
$direction_name = $dp ->direction_name;
$direction_name_r = $dp -> direction_name_r;
}



После этого идет HTML код оформления, а дальше самое интересное. Мы составляем таблицу, содержащую все каталог файлов:


<?php
$query2 = "SELECT n, img, date, time, title, author, size, comment, format, count FROM books_table WHERE dirname LIKE '%$dirname%' LIMIT $start,$interval";
$sql2 = mysql_query($query2);
?>
<br>
<
table border="0" width="600" align="center">

<?php
while ($dp = mysql_fetch_object($sql2)) {
$n = $dp -> n;
$img = $dp -> img;
$date = $dp -> date;
$time = $dp -> time;
$title = $dp -> title;
$author = $dp -> author;
$size = $dp -> size;
$comment = $dp -> comment;
$format = $dp -> format;
$count = $dp -> count;
echo"
<tr>
<td>
<table border='0' cellPadding='3' cellSpacing='0' width='600' align='center' class='striped' id='table_1'>
<tbody>
<tr>
<td id='td_1' width=101 valign='top'><img src='
$img' border=1 alt='Скачать' width='100' height='100'></td>
<td id='td_1' align=left><span class=ws14><B><a href='books/
$dirname/counter_$n.php?action=$n' class='blue'>$title</a></B></span>
<br><span class='ws11'>
<br><span class='ws11'>
<b>Дата добавления:</b>


$date &nbsp $time

<Br>
<b>Автор:</b>


$author <i>Если автор указан не правильно или Вы являетесь автором этого файла, нажмите сюда: <a href='copyright.php?n=$n' title='Нарушение авторских прав'>Ссылка</a></i>

<Br>
<b>Размер:</b>


$size кб

<Br>
<b>Формат:</b>


$format

<Br>
<b>Комментарии:</b>


$comment

<br>
<b>Всего скачиваний:</b>
$count
<br>
<p align=right><B><I><a href='books/
$dirname/counter_$n.php?action=$n' class='link1'>Скачать</a></I></B><br>
[<a href='brakelink.php?n=
$n&title=$title&dn=$direction_name' title='Пожаловаться'>Битая ссылка</a>]</span>
</td>
</tr>
<tbody>
</table>


</td>
</tr>
"
;
}
?>


Все. Скрипт элементарный. Он не имеет ни сортировки, ни поиска.

Где в этом скрипте есть уязвимости и как их удалить?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.