Как сделать защиту SQL инъекций, и вообще защитить сайт от всевозможных атак и тд... Из базы данных выводятся только статьи. Я новичок.
1.а если я подключу систему комментариев от hypercomments например, защиту не потребуется делать ? 2.Что если я припилю форму обратной связи на сайт, инфа будет отправляться на емейл с формы, защиту не потребуется делать ?
Сделать просто - все данные, которые приходят от посетителей сайта (формы) при попадании в SQL запрос должны проходить mysqli_real_escape_string и обрамляться апострофами.
Я вот тоже подумал, но вдруг там ещё какую защиту надо делать, решил переспросить. И товарищ Drema говорит что нужно. А по логике ведь получается, что и для внешней системы комментов ( hypercomments ) защиту не потребуется делать, ведь у них отдельная база данных будет, и защита там организована. Конечно я не полностью уверен в том что говорю ) Можно узнать ваше мнение, потребуется ли мне обеспечивать какую либо защиту, при использовании базы данных для вывода статей, внешней подключаемой системы комментов, и формы обратной связи - инфа с которой будет отправлена на емейл ?
Месье, за вашей логикой не угнаться Сами придумываете на ходу, сами делаете выводы - ведь вы все делаете сами! Вы - большой молодец и вам не нужны никакие советы.
Ну а статью он отображать будет как, если не гетами? Новичковым ЧПУ? То, что он новичок, не значит, что нужно только половину инфы доносить.
Конечно. https://ru.wikipedia.org/wiki/Email-инъекция https://habrahabr.ru/post/318698/ И только тут нужна защита именно от SQL-инхекций --- Добавлено --- Конечно. https://ru.wikipedia.org/wiki/Email-инъекция https://habrahabr.ru/post/318698/ И только тут нужна защита именно от SQL-инхекций
Ну, вот так, например. Очень секьюрно PHP: /site.ru/articles/myarticle.php <?php echo ... "SELECT text FROM article WHERE name = 'myarticle'";
Тогда уж /site.ru/articles/myarticle.html Коль уж отдельные файлы для каждого материала делать. Неужто это так сложно сказать "признаю, лажанул"? Обязательно надо эти вот притягивания за уши, которые, в попытке оправдания одной лажи, создают новую? Признание собственных ошибок - не самооскорбление, не унижение. Это рост над собой. В аргументированном споре двух адекватных людей никогда нет проигравших. Тот, кто был неправ и признал это, не поретял ничего, кроме заблуждений. Разве этого надо бояться?
Нет, ты написал, что инъекции возможны только из форм. Когда тебя поправили и сказали про GET, ты начал нести чушь про то, что "это для гуру, а я объясняю для новичков". Когда тебе сказали и об этом, ты начал нести чушь про отдельные файлики для каждой статьи. А еще SQL-инъекция возможна через cookie и даже через уже отфильтрованную инфомрацию, если при работе с базой не было соблюдено правило "одна кодировка на все", это уже инъекции второго порядка. Это тоже только гуру знать разрешено? Гуру не гуру, человеку надо давать достаточно информации, чтобы он мог правильно делать то, что хочет сделать. Злоумышленник не будет спрашивать, гуру ты или не гуру, когда полезет ломать тебе базу. А твой совет для избегания инъекций в любом модуле это: "Забей на инъекции. Если нет форм - нет инъекций". Мало того, что он нифига не универсальный, а рассчитан лишь на конкретный частный случай, он еще и вреден. Это ни разу не про любой модуль. Это про то, как пролюбить сервак из-за халатности. Да, и это не новость. Добро пожаловать в IT. Тут лучше быть дотошным занудой, чем нести бред. И ладно бы ты сам с собой наедине его оставлял, ты учишь новичков такому отношению.
Читай внимательнее, умник: Сделать просто - все данные, которые приходят от посетителей сайта (формы) при попадании в SQL запрос должны проходить mysqli_real_escape_string и обрамляться апострофами.
Спасибо Так вот, тут или формы, или вообще все данные. Я хз, зачем уточнять что-то одно, подразумевая все сразу. Заметь, я не один, кто обратил на это внимание. Перечисляешь? Перечисляй все. Подразумеваешь все? Не выделяй что-то одно. Сделали замечание? Просто напиши нормальный ответ, а не неси чушь про новичков и гуру. Точка.
Хз? Ну раз хз, то и спроси тогда что именно я имел ввиду. Так тебя устроит? : Сделать просто - все данные, которые приходят от посетителей сайта (например, формы) при попадании в SQL запрос должны проходить mysqli_real_escape_string и обрамляться апострофами. Доволен? Я свободен? Спасибо