• Достаточна ли защита сайта php?

    @Vitsliputsli
    FanatPHP, я говорил о принципиальных подходах, а не о PDO и эмуляции (их затронул только как пример правильной реализации). Принципиальных их 2: либо с разделением sql-запроса на данные и код, либо без. Как при этом будет работать второй вариант очевидно. Ни в коем случае, не идет речи о любых методах экранирования, но как выше и писал, согласен, что кого-то это может ввести в заблуждение, поэтому стоит для них делать оговорку. Для них первостепенная важность - это байндинг переменных, "заменять все переменные в запросе на маркеры". Это минимум, без которого вообще ни о какой защите речи не может идти. Что под капотом - вопрос другой.
  • Достаточна ли защита сайта php?

    @Vitsliputsli
    FanatPHP, не, вы писали:
    вам свое эго важнее. сидите с ним


    В обсуждаемых вопросах у меня нет непоняток с PDO, это вы утверждали что он какой-то особый, магический. А вам я уже советовал, писать сразу, а не прятаться за фразы "ты такой упертый, поэтому я тебе ничего не скажу из моего тайного знания". Вам хочется выставить меня идиотом, а себя мудрым ментором - ну что ж, продолжайте, это обычное для многих людей желание покрасоваться. Но чем больше вы умничаете, тем меньше времени развиваетесь.
    А с исходным вопросом уже закончили, вашу аргументацию я выше резюмировал.
  • Достаточна ли защита сайта php?

    @Vitsliputsli
    FanatPHP, когда вы оскорбляете делающих первые шаги в программировании, не давая никакой информации, вам почему-то плевать на этих "пользователей пхп". Но в споре со мной, почему то резко решили прикрыться ими.
    Дело не в эго, я задал вопрос потому как подумал, что действительно что-то не знаю или не учел. А диалог получился чтото вроде:
    "- предохранитель защищает оружие от случайного выстрела;
    - ничего он не защищает;
    тут ждешь чтото важное, вроде того, что на некоторых моделях при сильном нажатии, предохранитель не выдерживает, а получаешь:
    - если бросить в огонь, произойдет детонация патрона.
    - какого?!!!...
    - ну дети будут играть и бросят в огонь."

    Спасибо, за очень содержательный ответ. Что в PDO при эмуляции магия. Что экранирование, это одноименный метод и никак иначе. Профессиональный спор, блин. А че, вдруг дети будут читать. Nuff said
  • Достаточна ли защита сайта php?

    @Vitsliputsli
    FanatPHP,
    никакого PDO здесь нет.

    там где договаривались есть:
    FanatPHP, давайте, только используйте PDO, а не самопальное экранирование.


    В общем, потом меня спрашивают, почему я такой мизантроп
    Да потому что даже лучшие из тех кто здесь ошивается, на поверку оказываются таким вот human trash
    он усрётся, не не признает свою неправоту
    потому что думает только о себе любименьком, а не о том вреде, который несут его идеи другим

    Именно так, потому как вместо того, чтобы ответить по-сути, скатываетесь в детское "я ж говорил, я ж говорил".
    Вы прикрываетесь "вредом, который несут его идеи другим", но могли бы ответить по-существу и заметить мне, что не стоит так писать, т.к. это может быть неверно интерпретировано. И я бы с вами согласился, потому как тоже знаю, что подразумевают под "экранированием" зачастую. Но вы ведь лишь прикрываетесь, потому как "усрётесь, но не признаете свою неправоту", иначе бы написали бы об этом сразу, "без всяких "ой я не то имел в виду"".
  • Достаточна ли защита сайта php?

    @Vitsliputsli
    FanatPHP, неа, мы договаривались используя PDO, т.к. догадывался, что прилетит подобная чушь. Так что не надо метаться, игнорировать условия о которых договаривались, отвечайте по-существу.
    Мы говорим о проверке экранирования, а не о "смотри как я могу". Вы пока доказали, что не можете без демагогии, и то что защиты от sql-инъекций нет в принципе, если рассчитывать, что оно "как-нибудь само".
  • Достаточна ли защита сайта php?

    @Vitsliputsli
    FanatPHP, так как все таки работает эмуляция? Магия? И еще раз, для MySQL PDO по-умолчанию использует именно эмуляцию.

    Не отвлекаюсь, отличный пример, с таким же успехом можно заявить, что и prepared statements не защита:
    $st = $db->prepare( "select * from users where id=$id" );
    $st->execute();


    Так что, еще раз, давайте в PDO с эмуляцией, разумеется с байндингом переменных. Потому как речь про защиту экранированием, а не как можно сделать так, что ничего не спасет.
  • Достаточна ли защита сайта php?

    @Vitsliputsli
    FanatPHP,
    в PDO нет функции экранирования.

    Да, ладно. А эмуляция prepared statements в PDO каким тогда образом работает?
  • Достаточна ли защита сайта php?

    @Vitsliputsli
    FanatPHP, давайте, только используйте PDO, а не самопальное экранирование.
  • Достаточна ли защита сайта php?

    @Vitsliputsli
    FanatPHP, не 100%, но тем не менее защита. Не 100%, потому что теоретически, раз нет разделения на код и данные, то инъекция возможна. Практически, сейчас нет известных уязвимостей. PDO для MySQL по-умолчанию использует именно экранирование.
  • Достаточна ли защита сайта php?

    @Vitsliputsli
    WapSter, понял про что вы, тем не менее в ORM нет встроенной самописной защиты, просто нормальный код, как правило. Безопасные или небезопасные методы подразумевается, что если метод использует SQL написанный пользователем, очевидно ORM не сможет гарантировать, что там не будет инъекций. А защиты по прежнему только две: prepared statements или экранирование, причем последнее может быть реализовано на разных уровнях: в PDO, в языке, либо можно самому что-нибудь накалякать и надеяться что пронесет, но ORM так не делают насколько я знаю.
  • Планирую перейти с 1С на Golang на сколько реально в 42 года?

    @Vitsliputsli
    Roman Kitaev, все верно, Go проще чем Си, и изучать его, зная другой язык на хорошем уровне гораздо проще. Но 1С это не другой язык, это не python, 1С - это больше работа с базой данных, с неким визуальным оформлением. Об этом Игорь наверное и пишет, что уже имея хорошую базу - да, перейти легко, но 1С не даст такой базы, т.к. это специализированный язык, а не язык программирования общего назначения.
  • Достаточна ли защита сайта php?

    @Vitsliputsli
    WapSter, а что имеется ввиду под встроенной защитой от sql-инъекций в ORM? То что они используют подготовленные запросы, так им там ничего и не надо встраивать, или что-то другое?
  • MVC (PHP): правильно ли понимаю слои?

    @Vitsliputsli
    Михаил, не получаем, mvc не запрещает, но и не заставляет вас так делать.
    Равно как и Active Record не заставляет вас использовать его модели, как ваши бизнесовые модели.
    А мечты, что мы тут напишем бизнесовую модельку, а потом по щелчку будем сохранять в любой классической реляционной СУБД, а может и в NoSQL, а может в колоночной, не работают, если вам нужна нормальная производительность. Структура БД строится исходя из работы с данными в конкретной СУБД, даже для одних и тех же данных в классической она будет одна, в колоночной другая, и в любом случае не имеет прямой зависимости от бизнесовых моделей.
  • MVC (PHP): правильно ли понимаю слои?

    @Vitsliputsli
    Модель - это не данные, модели это собственна вся логика вашего приложения, как бизнесовая так и техническая, включая, конечно, и данные.
    Хранение - нет такого в MVC, да и не нужен он там, для реализации любой логики используются модели.

    3 незамысловатых элемента: Контроллер, Модель, Представление, не так уж и сложно реализовать на практике, в этом нет никакой проблемы.
  • Как архитектурно лучше решить такую задачу (с точки зрения ооп)?

    @Vitsliputsli
    Подскажите пожалуйста, какие есть архитектурные решения?

    Решения чего? Задачи ведь нет. Есть уже написанное решение неизвестной задачи.
    К примеру, если нужно состыковать 2 объекта использующие разные интерфейсы, то можно воспользоваться паттерном адаптер. Быть может у вас такая задача, а может и нет.
  • Перенес проект c Git неправильно, как исправить?

    @Vitsliputsli
    AlexanDev,
    вот это я понимаю ответ.... столько букв, а полезной информации 0!

    все зависит от тебя, также как и при сохранении информации, когда ты "делал бекап" на флешечку, столько было телодвижений, а результат нулевой. И после того, как не смог даже бекап нормально сделать, теперь требуешь, чтобы кто-то за тебя все починил?
    Начни с основ компьютерной грамотности, как делают бекап, зачем их делают несколько, почему флешечка не гарантия сохранения всех данных, что значит слово распределенная для системы git. И глядишь, в будущем результат будет отличным от нулевого.
  • Перенес проект c Git неправильно, как исправить?

    @Vitsliputsli
    Нет там никакой магии, все лежит в git директории. Вероятно что-то потерялось по дороге. Нужно проверять, что живо, и пытаться вытягивать, что есть.
    Если не только git но и файлы скопированы, как минимум 1 версия из последних у вас есть.
  • Как прочитать определенную строку в файле?

    @Vitsliputsli
    FanatPHP, да, забыл про переносы, нужно усложнять условие для sed, и выигрыш уже не такой большой. Поправил ответ.
  • Как отклонить соединение при 10 и более запросов TTL 58?

    @Vitsliputsli
    Ответ про модуль ttl уже дан, но не стоит расчитывать, что ttl всегда 58. Пока это один и тот же атакующий, то понятно, но завтра будет другой, у которого на пути к вам будет еще один маршрутизатор и ttl будет меньше.