LINUX.ORG.RU

Как защитить сайт на php?

 ,


2

1
     function mysql_fix_string($conn, $string)
     {
         $string = stripslashes($string);
         return $conn->real_escape_string($string);
     }

Как улучшить эту чудо-защиту, при условии,что я это использую как только для майсикла? Мне челик посоветовал почитать «php в подлиннике», но я просто не смогу такое прочесть(она огромная и похожа на мерзкий учебник по информатике), нет ли нормальной литературы, связанной с защитой php кода и вообще php?

Как улучшить эту чудо-защиту, при условии,что я это использую как только для майсикла? Мне челик посоветовал почитать «php в подлиннике», но я просто не смогу такое прочесть(она огромная и похожа на мерзкий учебник по информатике), нет ли нормальной литературы, связанной с защитой php кода и вообще php?

Вон из отрасли и никогда не возвращайся.

Alve ★★★★★
()

htmlspecialchars при выводе данных из бд на страницу

KivApple ★★★★★
()
Последнее исправление: KivApple (всего исправлений: 3)
Ответ на: комментарий от Alve

Вон из отрасли и никогда не возвращайся.

А в чем проблема? Ъ программисты должны читать только книжки ОТ 800 страниц, которые начинаются с определений всего и вся, от букв русского алфавита, до описание того как процессор на сервер где работает php складывает числа? И только на предпоследней странице будет реальный пример, но будет он на php1, ибо для php2 книга еще только пишется?

abs ★★★
()

Сначала защити его от php.

AnDoR ★★★★★
()
Ответ на: комментарий от abs

Инженеры обычно умеют читать. И нередко они читают документацию.

AnDoR ★★★★★
()

Откройте для себя параметры в запросах sql. И регулярные выражения.

Infra_HDC ★★★★★
()

Ответ на твой вопрос есть в любой книжке, где про передачу данных глава. Осиль прочесть.

Zhbert ★★★★★
()

Что мешает прочесть только главы относящиеся к работе с Б/Д и выводом данных на страницу?

Pinkbyte ★★★★★
()

man sql bind parameters

anonymous
()

Фреймворки юзай, а не велосипеды изобретай. Там должны быть PreparedStatements или другие механизмы против инъекций.

FilosofeM ★★
()
Ответ на: комментарий от abs

А в чем проблема? Ъ программисты должны читать только книжки ОТ 800 страниц, которые начинаются с определений всего и вся, от букв русского алфавита, до описание того как процессор на сервер где работает php складывает числа? И только на предпоследней странице будет реальный пример, но будет он на php1, ибо для php2 книга еще только пишется?

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

И почему вам в голову не приходят вопросы «а что тру-строители должны знать свойства материалов?». «А что, тру-врачи должны знать анатомию и читать книги, где только в конце пишут как резать»?

Фу блин.

Alve ★★★★★
()
Ответ на: комментарий от Pinkbyte

Что мешает прочесть только главы относящиеся к работе с Б/Д и выводом данных на страницу?

Отсутствие мозга, умения учиться, общего базового образования и цели в жизни.

Alve ★★★★★
()
Ответ на: комментарий от Alve

а что тру-строители должны знать свойства материалов?

А что, знают? Судя по результатам не очень.

turtle_bazon ★★★★★
()
Ответ на: комментарий от Alve

А что, тру-врачи должны знать анатомию и читать книги, где только в конце пишут как резать

Вся современная медицина работает по утверждённым протоколам. Знать они должны только их, а обучаться даже вредно.

turtle_bazon ★★★★★
()
Ответ на: комментарий от turtle_bazon

Вся современная медицина работает по утверждённым протоколам. Знать они должны только их, а обучаться даже вредно.

Что вы хотите доказать? Что быть неграмотным нормально? Сами-то небось хотите жить в нормально построенном доме и лечиться у нормального врача, а тут рассказываете сказки какие-то.

Alve ★★★★★
()

нет ли нормальной литературы, связанной с защитой php кода и вообще php

Есть. «PHP в подлиннике». И еще «PHP: объекты, шаблоны и методики программирования. 5-е издание»

qtm ★★★
()

Как улучшить эту чудо-защиту

Про prepared statements тут уже написали: это простой и изящный способ снять с себя ответственность за экранирование строк для внедрения в запрос SQL.

Что вызывает отторжение, так это сам подход:

  1. mysql_fix_string – это не исправляет строку, а экранирует для одной конкретной цели; вот само название уже даёт намёк, что функция будет калечить;
  2. наличие в ней stripslashes предполагает, что ты допускаешь запуск этой функции больше одного раза, но эта функция, опять же, не волшебная пилюля, которая делает твоим данным зашибись; даже наоборот, для любой иной цели она их портит;
  3. stripslashes не является обратной функцией mysqli::escape_string, т.е. никаких гарантий, что при $str = mysql_fix_string($str) всегда истинно $str === mysql_fix_string($str) нет;
  4. ну и чтобы точно дошло: с prepared statements это просто не нужно.
Darth_Revan ★★★★★
()

дЪявол в мелочах и их понимании. Закрывай тред и открывай книжку.

нет ли нормальной литературы, связанной с защитой php кода и вообще php?

Типа книга рецептов?

- Совет 1 - в поле xxx конфига yyy впишите значение zzz!
- Совет 2 - не используйте функцию bar!

И так далее. Наверное такое есть, только не в виде книг, а в виде постов vkoнтакте =) Или описании роликов ютуba =)

Ну возможно и книга есть типа "1000 и одно кривое место php и как их избежать "

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от Alve

Программисты должны быть инженерами, а не макаками

Отвратительная ложь. Все зависит от критичности проекта. То есть если кодер умеет что-то кодить, а заказчику не важна безопасность и надежность, а критична лишь цена - то почему бы и не нанять макаку? Мы живем в реальном мире, хай кволити инженеров на все проекты не хваатит.

anonymous
()

Используй PDO, там все сделано за тебя. Ну а для вывода используй любой шаблонизатор или преобразовывай символы.

Про то и другое можно прочитать в книгах о которых тут уже писали.

ilinsky ★★★★★
()

и похожа на мерзкий учебник по информатике

мерзкий учебник по информатике

Ой-вей, шо ви таки имеете против учебника по информатике?

hobbit ★★★★★
()
Ответ на: комментарий от Alve

Программисты должны быть инженерами, а не макакой, сходившей на «курсы».

Но как связан инженер, и желание читать книгу которая мало относится к твоей конкретной сегодняшней проблеме?

abs ★★★
()
Ответ на: комментарий от Alve

Программисты должны быть инженерами, а не макакой

Что тут, черт возьми, значит слово должны? Кому они должны? Может быть тем кто им платит деньги? (неа, работодателям плевать, им главное чтоб задачи делались). Друзьям / родственникам? Им главное чтоб деньги были. Одноклассникам? Им главное чтоб не ботанил сильно, и контрольные давал списывать.

Так кому он должен то, а????

abs ★★★
()
Ответ на: комментарий от abs

Отечеству и лично доктору Мэтью Ричарду Столлману.

Cirno
()

function mysql_fix_string

Use doctrine, luke. И возвращайся через пять лет.

Igron ★★★★★
()
Ответ на: комментарий от abs

вариант номер один - читать книгу и разбираться. вариант номер два - нанять того, кто уже прочитал книгу и разбирается. вариант номер три - наговнякать без понимания сути и пролюбить защиту сервера.

Iron_Bug ★★★★★
()
Ответ на: комментарий от abs

Но как связан инженер, и желание читать книгу которая мало относится к твоей конкретной сегодняшней проблеме?

Проблема общее незнание матчасти. Ему ешё и про SQL надо читать, скорее всего...

peregrine ★★★★★
()
Ответ на: комментарий от abs

Так кому он должен то, а????

Себе, чтобы его на бутылку не посадили работодатели, когда их хакнут и уведут бабосы. Ну если на бутылке сидеть хочет, то не должен.

peregrine ★★★★★
()
Последнее исправление: peregrine (всего исправлений: 1)
Ответ на: комментарий от Iron_Bug

ну так очевидно что подходит только третий, ибо [code]

  1. Нет времени (а 800 страниц читаются не быстро)
  2. Я так понял он либо 2.а) фрилансер и зарабатывает на этом 2.б) предприниматель без денег и по этому сам пытается писать код [/code]

И вот твой третий вариант

наговнякать без понимания сути и пролюбить защиту сервера.

Он и хочет минимизировать риски. Предположу что он хочет БЕЗ понимания сути НЕ ПРОЛЮБИТЬ защиту сервера. И это его желание выглядит более чем адекватным

abs ★★★
()
Последнее исправление: abs (всего исправлений: 1)
Ответ на: комментарий от abs

И невозможным. Поэтому ему или учиться или в job.

Deleted
()
Ответ на: комментарий от peregrine

Проблема общее незнание матчасти.

Ну понятно что в идеальном мире мамкиного программиста из LOR каждый кто посмел себя так назвать (А он вроде даже и не называл себя программистом) должен быть богом, знать всю матчасть всех связанных дисциплин, кодить не меньше 10 часов в день, не меньше 4 тратить на чтение новых знаний о мире кода, а во сне (Ибо там мышление абстрактно бредовое) выдумывать новые парадигмы.

Но реальность разбивается о том что есть задача, и ее нужно решать. А не ИГРАТЬ в программиста.

abs ★★★
()
Ответ на: комментарий от peregrine

Себе, чтобы его на бутылку не посадили работодатели, когда их хакнут и уведут бабосы. Ну если на бутылке сидеть хочет, то не должен.

Вижу полное не понимая того как работает реальный мир. Он низкооплачиваемый разработчик которого наняли бедные предприниматели, или он сам бедный предприниматель. Какая к черту бутылка, он что по твоему работает на «Рога и копыта, а в случае провала тебе бутылка ООО» где есть 50 человек, из которых 48 бандиты, 1 уборщица, и директор"?

abs ★★★
()
Ответ на: комментарий от Alve

Сами-то небось хотите жить в нормально построенном доме и лечиться у нормального врача

Хочу, но реальность жестока.

а тут рассказываете сказки какие-то

У меня тут просто родственник болеет. Всё вижу своими глазами. Рад бы, чтобы я сказки рассказывал, но увы.

turtle_bazon ★★★★★
()
Ответ на: комментарий от Harald

Ну не спорю. Но способных на это единицы. И не всегда, бывает, они правы.

turtle_bazon ★★★★★
()
Ответ на: комментарий от abs

а кто сказал, что профессия программиста - это «быстро»? нет, это не быстро и не просто. нужно затратить время и определённые усилия, чтобы научиться что-то делать качественно.

Iron_Bug ★★★★★
()
Ответ на: комментарий от abs

или он сам бедный предприниматель

банк садит на бутылку, т.к. у бедного предпринимателя предприятие в кредит

Он низкооплачиваемый разработчик которого наняли бедные предприниматели

А думаешь бедный предприниматель захочет 1 на бутылке сидеть? Он сядет экономически и возможно юридически, а исполнитель сядет и экономически (как минимум премии лишат) и скорее всего юридически, если косяк будет с последствиями. Мир несправедлив, начальство на бутылке сидеть не хочет и практически никогда не будет. Думаешь, когда тебе в новостях пишут, что в метро поезд сломался по вине машиниста, это всегда машинист виноват? В половине случаев он как раз крайний, а поломка из-за того что кто-то украл или начальство плохо работу сделало, инсайдерская инфа если что.

peregrine ★★★★★
()
Ответ на: комментарий от abs

А он вроде даже и не называл себя программистом

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

знать всю матчасть всех связанных дисциплин

да

кодить не меньше 10 часов в день

нет, а вот накодить не меньше 10k часов это да

не меньше 4 тратить на чтение новых знаний о мире кода

не меньше 2-ух

а во сне (Ибо там мышление абстрактно бредовое) выдумывать новые парадигмы

Их вообще придумывать не надо, они уже придуманы. И вообще придумыванием парадигм не программисты занимаются, а computer scientists

peregrine ★★★★★
()
Последнее исправление: peregrine (всего исправлений: 2)
Ответ на: комментарий от peregrine

И вообще придумыванием парадигм не программисты занимаются, а computer scientists

знать всю матчасть всех связанных дисциплин (твой ответ да)

Ах, боюсь тогда спросить, если программист должен знать всю матчасть связанных дисциплин, что же тогда должен знать computer scientists ???

abs ★★★
()
Ответ на: комментарий от peregrine

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

Посмею предположить что он работает без какого либо договора.

@fapchat2 внеси ясность. Ты фрилансер / предприниматель? Работаешь по договору / без ?

банк садит на бутылку, т.к. у бедного предпринимателя предприятие в кредит

Ну так если предприятие в кредит то нужно начать зарабатывать деньги чтоб отдать уже завтра, а не тратить год на чтение 800 страниц, и только потом кодить. Чем парируешь? Небось тем что нужно было сначала прочитать 800 страниц, а потом брать кредит? Но тогда

а) Предположит он таки ошибся и уже взял кредит

б) Если он еще не ошибся, то кроме того как читать 800 страниц про php ему нужно еще N тысяч про бизнес, а так и умереть можно. По этому нужно пилить быстро MVP, а не играть в бизнесмена / программиста

abs ★★★
()
Последнее исправление: abs (всего исправлений: 1)
Ответ на: комментарий от abs

Тот кто знает не только связанные непосредственно с программированием и областью в которой он работает программистом.

peregrine ★★★★★
()
Ответ на: комментарий от abs

Ну так если предприятие в кредит то нужно начать зарабатывать деньги чтоб отдать уже завтра, а не тратить год на чтение 800 страниц, и только потом кодить. Чем парируешь? Небось тем что нужно было сначала прочитать 800 страниц, а потом брать кредит? Но тогда

Если ты занялся бизнесом то тебе таки надо читать про бизнес и нанять программиста. Если ты думаешь, что ты в одно рыло бизнеесмен, то ты ССЗБ.

peregrine ★★★★★
()
Ответ на: комментарий от peregrine

Если ты думаешь, что ты в одно рыло бизнеесмен, то ты ССЗБ.

Я не удачный предприниматель, по этому не буду спорить с тобой от своего имени. Но скажу например одну книгу где говорится наоборот - rework

abs ★★★
()
Ответ на: комментарий от abs

Книги по бизнесу, как правило, сами по себе бизнес по надувательству. Читать надо законы, экономику и психологию.

peregrine ★★★★★
()
Ответ на: комментарий от peregrine

Книги по бизнесу, как правило, сами по себе бизнес по надувательству

А были ли прочтина хоть одна тобой? Ибо звучит это заявление как стереотип какое-то, а не личное мнение

В случае с rework - это создатели Ruby on Rails

abs ★★★
()
Ответ на: комментарий от peregrine

как правило

Хотя ты не заявляешь что они ВСЕ таки, а лишь большинство. Тогда может ты и прав, смотря как это большинство оценивать. Те которые мне попадались были более чем полезные

abs ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.