Саныч, нормально. Тут главное помнить суть в двух вещах: соль! всё дело в соли, т.е. злоумышленнику нужно подоблать не просто какой то набор символов, который даст нужный хеш, а содержащие заданные символы в заданных местах (та самая соль); уникальность алгоритма, если вы выпускаете вордпресс с хитрым алгоритмом, то без соли банально составят базу паролей под этот алгоритм, т.к. есть резон.
Hawkmoth пишет:
Если в моей БД есть юзер с паролем "123" и соль "&$bhjhkd78", хранимая в открытом виде, и кто-то нехороший получит доступ к моей базе, ему мало не покажется расшифровывать такой пароль? При том, что я, допустим, использую вполне детский алгоритм конкатенации (password.salt), и это ему известно?
Соль должна быть уникальная для каждого сайта. Уникальная соль для каждого пользователя - сомнительное удовольствие, но всё таки улучшает защиту.
Главное, чтобы соль генерировалась случайно, а не по алгоритму от пароля. Т.к. если этот алгоритм станет распространён, то автоматом пропадает всякий прок от соления.
Храните соль в явном виде, никаких проблем. Со своей задачей превратить подбор пароля в полный перебор, вместо использования радужных таблиц, она прекрасно справится.
Если нужно чтобы он был и его какбэ не было, то только всякие извращения типа загрузки на лету или из картинок (да да) вам в помощь. Но всё равно это не поможет.
я всегда считал что коменты прежде всего, чтоб можно было быстро разобраться в том что написано.
Если брать шире, то комменты нужны в первую очередь для того, чтобы понять "что оно делает", а уже во вторую "как".
Ибо есть код, абсолютна ясна и прозрачна его реализация, но совсем не понятно, то ли хотел сказать автор или просто ошибся? Особенно, если код живёт долго, и над ним работают разные люди.
А по поводу ООП, даже не знаю что посоветовать... Я с плюсов начинал, там это было частью эволюционного развития....
Но всё таки скажу: классы - это реализации ООП, т.е. вполне можно обойтись и без них, просто будет некая структура (например массивчег, или идентификатор) и набор функций для работы с этой структурой. Основа ООП - это некие сущности(объекты) предметной области, которые лучше всего выделять на основе поведения (т.е. исходим из того, что она делает, а не из чего она состоит). Сущности как то взаимодействуют друг с другом и мы получаем работающую программу
Но не это главное: главное модульность, т.е. возможность разделить программу на несколько взаимодействующих модулей (по горизонтали али вертикальных), чтобы уменьшить сложность. Вообще программирование это борьба со сложностью, как только она накапливается в одном месте непомерно, мы делаем метасистемный переход и строим новую абстракцию поверх имеющегося
DlTA пишет:
ак вот хотелось бы увидеть мастер класс по вопросу проектирования классов в ООП
Сферически проектировать? или тему какую задашь? Можно на примере нашей онлайн игры попробовать.
pome, создай класс оружия и навешивай его наследников на корабль. То, что в первом посте, совершенно не неверное использование наследования, как и сказал Мелкий.
У вас есть два пути:
1. создать наследников оружия с различными параметрами, но наследоваться ради переопределения параметров не круто, проще использовать один класс и настраивать его параметры.
2. Оружие инициализировать указателем на корабль, тогда оно (оружие) сможет совершать с кораблём хитрые манипуляции.
Т.к. во втором случае образуется циклическая ссылка (корабль содержит оружие, оружие ссылается на корабль), Для разрешения цикла, для корабля создаётся интерфейс, с которым и работает оружие ничего не зная о реализации корабля. (Добавление)
Во втором случае можно будет переопределять поведение, скажем одно оружие просто забирает энергию и наносит урон, а другое стреляет ракетами и требует наличия ракет на складе нужного типа, треть оставляет мину и т.д. Учитывать все эти вариации поведения в классе корабля, не очень хорошо. Проще перенести в оружие, наследники класса оружие могут переопределять метод апдате (к примеру) и вести себя по разному в зависимости от реализации.
Способ с объявлением константы встречается довольно часто, но маленький параноик во мне говорит, что нужно использовать его в комбинации с запретом через .htaccess.
Запрет через .htaccess может внести некую дисциплину, не пихать файлы, которым есть доступ из вне куда попало. Это по моему горькому опыту
andy77, извиняюсь, но у вас очень низкий уровень аргументации: перед тем как писать стандартное "на вики что угодно" нужно было проверить определение по словарям. Ибо очевидно, что пост индустриализация - это термин, и очень старый.
Предлагаю не устраивать политоту здесь, для есть специально отведённые свинарники.
З.Ы. Евгений! название сайта то за что зацензурил? Хотя... нужно будет всё таки почитать правила форума. Вот одна из величайших концепций программирования
Таких "экспертов" у нас в каждом доме штуке по две. Достаточно почитать, что такое "Постиндустриальное общество" на вики, чтобы понять, что автор либо живёт в какой то другой России или сказочный вырезано цензурой (внимание - это термин). Пойду писать код, вырезано цензурой! (вырезано цензурой.рф), а то политика от работы отвлекает.