из браузера доступна только дириктория www(может по другому называться например public_html).
Это конечно не панацея, но первое христаматийное правило.
второе христаматийное правило - пароли храним только хешированные.
третье - НЕ храним пароли в куки.
четвертое - валидируем/проверяем все входные данные.
Все мной сказанное учитывается всегда и везде, если не соблюдены эти простые правила, то о полноценной защите можно даже не говорить.
Беру за сайт минимум 10т.р. это будет визитка, далее зависит от ТЗ.
Вообще расчитываю так:
разбиваем сайт на части ( дизайн, верстка, код и т.д. ), дизайнер берет 5000 + верстка
своих минимум 5000. Далее смотрим, хотим фото галлерею + 6000, хотим каталок товаров +7000, хотим админку +10000 и т.д.
Фактически человек платит за "модули", к договору прилагается расшифровка цен и там все списком, очень удобно.
Из реалей моих работ, в среднем сайт обходится в 15к-20к, были и за 120к.
Чаще когда спрашиваешь про бюджет, люди занижают реальную цифру, т.е. если говорят 10к, реально могут 15к-20к (проверенно 100500+ раз).
Думаю про :key объяснять не надо, это для PDO'шного prepare.
В чем собственно проблемма, как видно из запроса, запись удалится, если в каждой из таблиц есть запись равная :key.
Так такой записи может и не существовать ( например картинок нет ), а следствие удаления не будет.
Теперь вопрос, строить один запрос на JOIN'ах или сделать несколько,
Учитывая, что удалять будет один человек и редко?
Какой смысл их использовать, если с тем же успехом можно наследоваться от обычных классов
В принципе можно наследоватся от обычного класса и не реализовывать( оставлять пустыми ) методы, которые будут перекрыты в классах потомках, НО! тогда они станут необязательными для реализации. ВАЖНО! если Мы расширяем абстрактный класс и не реализуем его абстрактные методы, то получаем ошибки т.к. реализация обязательна.
Как уже писали выше, "соль" абстракции это возможность реализовать часть методов и запретить создание экземпляров абстракции.
Цитата:
Декларация функций? Но ведь для этого есть интерфейсы
Интерфейсы существуют не только для декларации, они как и классы, по сути, являются типом данных. Так же в интерфейсе можно задать область видимости только public, в абстракции можно public, protected, что бывает весьма полезно.
Вобщем в этом коде попытался отразить все выше сказанное:
Ладно, Я согласен, что ситуации бывают разные и спорить с этим бесполезно, но есть конкретный пример. Сам автор темы пишет:
Цитата:
InfernumDeus, Лично мне достаточно перевода в utf-8.
Вопрос зачем ему iconv? Не лучше ли сразу оптимизировать и не вспоминать об этом потом?
Решение есть, вот оно, делов на 2 минуты.
Я пытаюсь отстаять мнение, что "велосипеды" не всегда плохо, в php предостаточно, порой, совсем нелогичных вещей, давайте скажите мне, что у вас руки не чешутся половину переписать (= ( ах да Вы уже это сделали... или Я не прав? )