Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: 100% защита от SQL-инъекций ?

Сообщения:  [1-10]    [11-20]  [21-26] 

 
 автор: Valick   (24.04.2012 в 09:32)   письмо автору
 
   для: deimand   (24.04.2012 в 06:48)
 

Да что там, вы и один кирпич в ведре понесете :)
Вы так и не поняли о чем я писал в той теме приводя пример с кирпичами. "Ведро" само по себе хорошая штука, вот только глупо его использовать только-лишь для переноски кирпичей, вот когда вы кроме кирпичей переносите еще пару сотен предметов, некоторые из которых сыпучие или вообще жидкие, вот тут-то "ведро" в самый раз... в этом случае вы жертвуете известно чем, ради известно чего.
Само по себе стремление к звездам очень хорошее занятие, вот только личную гигиену никто не отменял ;)

  Ответить  
 
 автор: deimand   (24.04.2012 в 06:48)   письмо автору
 
   для: Valick   (23.04.2012 в 07:16)
 

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

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

Вчера смотрел рекламу в кинотеатре, какой-то фильм с Джонни Деппом, про вампира, проснувшегося в наше время. Говорит запрягайте коней, а ему отвечают - у нас нет коней, у нас шевроле :). Это я к тому, что хотите вы или нет, но все меняется, причем очень быстро. Интернет быстро переносит привычные средства с рабочего стола в браузеры. Хотя как раз сейчас, лично мое мнение, небольшое затишье. Видимо перед бурей. Разбираться в устройстве браузерных программ все больше желающих, и все стремятся наоборот к простоте и меньшему порогу вхождения. И многим разработчикам это только на руку. Я вот, планирую обучать основам html поголовно, навязывать, бесплатно. Вообще считаю, что все эти горе-универсальные CMS, визивиги и прочее, такое хреновое - потому что для нубов делается. Если в техникумах начнут обучать основам html - это будет прорыв в развитии. Тогда нужно будет совсем другие задачи решать, абсолютно. И ниши новые появятся и еще много всяких бонусов.

Тенденцию развития уже не остановить. Дальше уже ничего не будет без интернета, и в большинстве своем браузера. Мы вообще живем на заре развития информационных технологий и нельзя даже точно сказать что будет через год-два, не говоря уже про пять-десять лет вперед. И что будет можно творить и какие паттерны будут в будущем даже не стоит гадать.

А вот раскладывать кусочки программы по полочкам, когда все просто и понятно, и независимо ни от чего - вполне хорошая привычка, которая в будущем поможет быстро перестроиться в случае надобности. ООП же, насколько я могу судить по увиденному в сети, городит все в одну кучу. Даже не знаю чего нельзя сделать без ООП, штатными, человекопонятными средствами. Вспоминается пример про кирпичи: когда мне нужно перенести кирпич - я беру его в руку и переношу, когда мне нужно перенести десять кирпичей, я беру ведро, наполняю кирпичами и переношу, а с ООП вы возьмете десят ведер и будете в каждом ведре носить по одному кирпичу десять раз и оправдывает себя такой подход только если вы город строите, не меньше. Да что там, вы и один кирпич в ведре понесете :)

И как вы там сказали? Да - стремлюсь, и ничего зазорного в этом не вижу. И вам тоже желаю стремиться, и не препятствовать стремиться другим.

  Ответить  
 
 автор: Valick   (23.04.2012 в 07:16)   письмо автору
 
   для: deimand   (22.01.2012 в 04:50)
 

А все меняется, и те кто раньше были на коне, на коне и остались, а вам советую пересаживаться на автомобили.
сказано красиво, но не более того
вот когда наездник на коне, обгоняет ваш доморощенный автомобиль... тушите свет.
ну а если не использовать все прелести классов, то чем это отличается от функций?
я абсолютно двумя руками за ООП, но только там где оно необходимо и оправдано, а не потому что я с засратой задницей стремлюсь через тернии к звездам

  Ответить  
 
 автор: demon51085   (23.04.2012 в 00:04)   письмо автору
 
   для: tima2010   (12.12.2011 в 15:22)
 

для фильтрации числовых переменных используйте ctype_digit() либо регулярку
preg_match("|^[0-9]+$|",$_GET['id'])

  Ответить  
 
 автор: ulot3049   (03.04.2012 в 10:24)   письмо автору
 
   для: tima2010   (12.12.2011 в 15:22)
 

Я обычно защищаю свои проекты с помощью связки mysql_real_escape_string() и sprintf().

  Ответить  
 
 автор: tima2010   (27.01.2012 в 19:45)   письмо автору
 
   для: cheops   (20.01.2012 в 13:25)
 

Пока что остановился на следующем сборе функции:

<?php
function no_injection($str='') {
    if (
get_magic_quotes_gpc()) {
        
$str stripslashes($str);
    } 
    
$str mysql_real_escape_string($str);
    
$str trim($str);
    
$str htmlspecialchars($str);
    return 
$str;
}
?>

или сразу же так


<?php
function no_injection($str='') {
    
$str stripslashes($str);
    
$str mysql_real_escape_string($str);
    
$str trim($str);
    
$str htmlspecialchars($str);
    return 
$str;
}
?>

  Ответить  
 
 автор: tima2010   (22.01.2012 в 11:37)   письмо автору
 
   для: deimand   (22.01.2012 в 04:50)
 

Классы и ООП - это разные вещи. Чтобы использовать все прелести классов, не обязательно применять и знать ООП.


Спасибо! то что я хотел услышать, начну работать с Классами.

  Ответить  
 
 автор: Sfinks   (22.01.2012 в 11:24)   письмо автору
 
   для: deimand   (22.01.2012 в 04:50)
 

+1. Про коня прикольно сказали =)

  Ответить  
 
 автор: Sfinks   (22.01.2012 в 11:23)   письмо автору
 
   для: deimand   (22.01.2012 в 04:40)
 

Я имел ввиду подгружать файл в котором хранится 150 запросов даже если нужен только 1. Но уже понял, что это, в принципе, ерунда. Сам тоже самое делаю для функций - в одном файле функции почти от всего проекта.

  Ответить  
 
 автор: deimand   (22.01.2012 в 04:50)   письмо автору
 
   для: tima2010   (21.01.2012 в 18:13)
 

>или можно сделать вынос из строки про построении переменной?

Нет, если уж придерживаться одного подхода, то его везде и применять. То что вы будете производить обработку данных непосредственно в запросе, дает вам своводу действий во всех операциях скриптов. Это удобней, вы попробуйте придерживаться этого направления, вы потом скажете что удобней способов нет. То что другие будут вас от этого отговаривать - не обращайте внимания. У нас просто процветает тенденция использовать старые паттерны программирования и утверждать что это единственный верный подход. А все меняется, и те кто раньше были на коне, на коне и остались, а вам советую пересаживаться на автомобили. Кони устарели, как бы это не обидно для наездников не звучало.

  Ответить  

Сообщения:  [1-10]    [11-20]  [21-26] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования