Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
netadmin.ws
Панель управления Регистрция свободна! Календарь Список пользователей Часто задаваемые вопросы Поиск по форуму Архив скриптов Главная   
Форум сетевых администраторов
Форум сетевых администраторов Форум сетевых администраторов » Программирование » PHP » Оптимизация кода, и новые фичи
Страницы (3): « 1 [2] 3 »
Предыдущая тема     Следующая тема
Автор
Тема    Новая тема     Ответить на эту тему
he][es
Участник+
Средний рейтинг: 4.07 | Оценок: 30
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2003
Место проживания: Барнаул, Россия
Публикаций: 1169
Статус: he][es в оф-лайне
[сообщение #59951]

А у меня такое вопрос, стоит ли делать так:

PHP:


if ( isset($_GET['act']) ) {
    
$act = $_GET['act'];
    if (
$act != "vote" AND $act != "show_miss" AND $act != "show_all_miss" AND $act != "add_compliment" AND $act != "show_news" AND $act != "show_all_news" AND $act != "show_all_quotes" AND $act != "logout") {
        print 
"<h1 align=\"center\"><bR />&nbsp;<bR />&nbsp;<bR />ПОПАЛСЯ ХАКЕÐ_!!!</h1>";
        exit;
    }
}


Или не стоит $act = $_GET['act'];
И нужно обращаться на прямую к $_GET['act']?

__________________
Админ - вождь Апачей...

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 31-01-2004 09:43
Нажмите сюда для просмотра профайла he][es Отправить Персональное сообщение he][es Найти сообщения от he][es Добавить he][es в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
polo
Администратор
Средний рейтинг: 4.77 | Оценок: 106
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: May 2001
Место проживания:
Публикаций: 4642
Статус: polo в оф-лайне
[сообщение #59957]

А в чем проблема так делать? Ð_то ничему не грозит.

__________________
Всегда есть решение.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 31-01-2004 11:38
Нажмите сюда для просмотра профайла polo Отправить Персональное сообщение polo Посетить домашнию страничку polo! Найти сообщения от polo Добавить polo в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
he][es
Участник+
Средний рейтинг: 4.07 | Оценок: 30
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2003
Место проживания: Барнаул, Россия
Публикаций: 1169
Статус: he][es в оф-лайне
[сообщение #59962]

polo ну я имею ввиду оптимальность. а) Что бы скрипт меньше ресурсов жрал...
б) Чтоб проблем невзникло непредвиденных...

__________________
Админ - вождь Апачей...

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 31-01-2004 13:47
Нажмите сюда для просмотра профайла he][es Отправить Персональное сообщение he][es Найти сообщения от he][es Добавить he][es в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
MarKer
Модератор
Средний рейтинг: 4.67 | Оценок: 15
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Sep 2002
Место проживания:
Публикаций: 470
Статус: MarKer в оф-лайне
[сообщение #59967]

Вообще, полная оптимальность - это конечно бы без $act = $_GET['act'];. Но если у тебя в $_GET['act'] особо объемистых данных не будет... для удобства можно сделать и копию с "нормальным" именем - на потребляемых ресурсах это отразится лишь теоретически.

P.S. Кстати, вместо print() и exit; можно воспользоваться одной функцией - exit() (или её альясом die()).

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 31-01-2004 15:37
Нажмите сюда для просмотра профайла MarKer Отправить Персональное сообщение MarKer Найти сообщения от MarKer Добавить MarKer в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
he][es
Участник+
Средний рейтинг: 4.07 | Оценок: 30
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2003
Место проживания: Барнаул, Россия
Публикаций: 1169
Статус: he][es в оф-лайне
[сообщение #59974]

MarKer ну в приведенном примере значения маленькие, но есть др. функции (подобные) в которых происходит добавление статей в БД, и там поля до longtext 65т. с коп. символов, я это так же делаю, из $_POST['var'] записываю в $var а потом подставляю в SQL запрос...

__________________
Админ - вождь Апачей...

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 31-01-2004 19:12
Нажмите сюда для просмотра профайла he][es Отправить Персональное сообщение he][es Найти сообщения от he][es Добавить he][es в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
MarKer
Модератор
Средний рейтинг: 4.67 | Оценок: 15
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Sep 2002
Место проживания:
Публикаций: 470
Статус: MarKer в оф-лайне
[сообщение #59975]

Ну... как говорится - копейка рубль бережет
В таких случаях лучше конечно же не делать копии... или делать unset() для "неудобной" переменной после создания копии.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 31-01-2004 19:35
Нажмите сюда для просмотра профайла MarKer Отправить Персональное сообщение MarKer Найти сообщения от MarKer Добавить MarKer в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
whisk
Участник
Средний рейтинг: 4 | Оценок: 1

Зарегистрирован: Oct 2003
Место проживания:
Публикаций: 31
Статус: whisk в оф-лайне
[сообщение #59986]

Можно просто воспользоваться символьной (или символической?) ссылкой:
$act =& $_GET['act'];
he][es Кстати, по твоему примеру - так делать не стоит имхо Слишком много условий - криво. Либо надо делать
if ... elseif ... elseif ... else, или что-то вроде этого:
$actions = array ('add', 'del', 'edit', 'etc...');
if (in_array($act, $actions) == false) {...}
Т.е. можно и как ты, но в таком месиве можно легко допустить фотальную ашипку.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 31-01-2004 23:04
Нажмите сюда для просмотра профайла whisk Отправить Персональное сообщение whisk Найти сообщения от whisk Добавить whisk в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
he][es
Участник+
Средний рейтинг: 4.07 | Оценок: 30
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2003
Место проживания: Барнаул, Россия
Публикаций: 1169
Статус: he][es в оф-лайне
[сообщение #59998]

whisk я просто с такими "фишками" плохо разбираюсь, объясни поподробнее плз...

__________________
Админ - вождь Апачей...

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 01-02-2004 08:17
Нажмите сюда для просмотра профайла he][es Отправить Персональное сообщение he][es Найти сообщения от he][es Добавить he][es в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
zyablik
Участник
Средний рейтинг: 2.58 | Оценок: 12
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2003
Место проживания: Москва
Публикаций: 98
Статус: zyablik в оф-лайне
[сообщение #60007]

in_array - возвращает TRUE, если значение существует в массиве.

quote:
$actions = array ('add', 'del', 'edit', 'etc...');
if (in_array($act, $actions) == false) {...}


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

во..

Кстати.. с точки зрения производительности лучше использовать &&, || вместо AND, OR соответсвенно.

__________________
http://www.best-pills-store.com

Сообщение было отредактировано zyablik 01-02-2004 в 09:57

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 01-02-2004 09:54
Нажмите сюда для просмотра профайла zyablik Отправить Персональное сообщение zyablik Посетить домашнию страничку zyablik! Найти сообщения от zyablik Добавить zyablik в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
Искатель
Участник+
Средний рейтинг: 4 | Оценок: 4
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Dec 2001
Место проживания: Россия Е-бург
Публикаций: 322
Статус: Искатель в оф-лайне
[сообщение #60024]

------------
$act =& $_GET['act'];
-------------

& Ð_то указатель.
$act =& $_GET['act']; в данном случае переменная $act будет ссылаться на тот же участок памяти что и $_GET['act'].

__________________
http://faq.pp.ru/read_mee/

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 01-02-2004 12:14
Нажмите сюда для просмотра профайла Искатель Отправить Персональное сообщение Искатель Посетить домашнию страничку Искатель! Найти сообщения от Искатель Добавить Искатель в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
he][es
Участник+
Средний рейтинг: 4.07 | Оценок: 30
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2003
Место проживания: Барнаул, Россия
Публикаций: 1169
Статус: he][es в оф-лайне
[сообщение #60038]

Пасибо большое... заюзаю...

he][es добавил 01-02-2004 в 16:27:27:
А вот такие конструкции допустимы?
$vote_add =& (int) $_GET['vote_add'];
Судя по ошибке или нет, или пишу не так...

__________________
Админ - вождь Апачей...

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 01-02-2004 16:16
Нажмите сюда для просмотра профайла he][es Отправить Персональное сообщение he][es Найти сообщения от he][es Добавить he][es в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
polo
Администратор
Средний рейтинг: 4.77 | Оценок: 106
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: May 2001
Место проживания:
Публикаций: 4642
Статус: polo в оф-лайне
[сообщение #60043]

php имеет свойства сам определять тип переменной. Если тебе надо быть уверенным что в $_GET['vote_add'] именно целое число то пиши intval($_GET['vote_add']).

__________________
Всегда есть решение.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 01-02-2004 18:37
Нажмите сюда для просмотра профайла polo Отправить Персональное сообщение polo Посетить домашнию страничку polo! Найти сообщения от polo Добавить polo в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
he][es
Участник+
Средний рейтинг: 4.07 | Оценок: 30
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2003
Место проживания: Барнаул, Россия
Публикаций: 1169
Статус: he][es в оф-лайне
[сообщение #60052]

polo т.е. пишу
$vote_add =& intval($_GET['vote_add']);
???

__________________
Админ - вождь Апачей...

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 01-02-2004 21:08
Нажмите сюда для просмотра профайла he][es Отправить Персональное сообщение he][es Найти сообщения от he][es Добавить he][es в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
polo
Администратор
Средний рейтинг: 4.77 | Оценок: 106
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: May 2001
Место проживания:
Публикаций: 4642
Статус: polo в оф-лайне
[сообщение #60114]

да, только & нафига здесь. & создает ссылку на переменную, это здесь ни к чему. Ð_то полезно например использовать в функциях
при передачи параметров и чтобы глобальные переменные тоже менялись. Посмотри пример и сделай выводы:

PHP:


$a 
= 1;
function 
print_a ($a) {
              
$a++;
              echo 
$a;
}

print_a($a); // выведет 2
echo $a; // выведет 1 
print_a(&$a); // выведет 2
echo $a; // выведет 2

__________________
Всегда есть решение.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 02-02-2004 14:19
Нажмите сюда для просмотра профайла polo Отправить Персональное сообщение polo Посетить домашнию страничку polo! Найти сообщения от polo Добавить polo в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
he][es
Участник+
Средний рейтинг: 4.07 | Оценок: 30
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2003
Место проживания: Барнаул, Россия
Публикаций: 1169
Статус: he][es в оф-лайне
[сообщение #60154]

Блин, я ещё больше запутался...
если мы делая так:
$k=5;
$a =& $k;
print $a; // 5
Делаем ссылку, на область памяти и не делаем новой переменной, (как я понимаю изменение $k повлечет соотв. изменение $a), то вызывая ф-ию с параметром &$a мы чего делаем???
если ф бы было $b = & print_a($a);
я б понял но как с параметром ссылки...ээ...
Я просто не догоняю как это работает?

$a=5 -> function($a=5) -> $a++ -> 6
это понятно, а
$a=5 -> function(&$a=5) я не понимаю...

__________________
Админ - вождь Апачей...

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 02-02-2004 20:55
Нажмите сюда для просмотра профайла he][es Отправить Персональное сообщение he][es Найти сообщения от he][es Добавить he][es в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя

Страницы (3): « 1 [2] 3 »


Формат времени GMT. Текущее время 13:45.
Новая тема   Ответить на эту тему [ Версия для печати Печать | Отправить эту страницу другу/знакомому! Отправить | Получать уведомления об обновлении этой темы Подписка ] Предыдущая тема     Следующая тема
Навигация по форуму:
Оценка темы:

Правила форума:
Вы не можете создавать новые темы.
Вы не можете отвечать на существующие темы.
Вы не можете прикреплять файлы.
Вы не можете редактировать свои сообщения.
HTML теги выкл.
Спец. код вкл.
Смайлики вкл.
[IMG] тег выкл.
 

Page generated in 0.25083399 seconds (97.63% PHP - 2.37% MySQL) with 26 queries.


  Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
©NetAdmin.ws, 2001-2026.
Powered by: vBulletin
Copyright ©2000, 2001, Jelsoft Enterprises Limited.