1.) Найти и побеседовать.
2.) Никак. (Добавление)
Хотя, можно ему пакость какую-нибудь подсунуть вроде баннера а-ля "Вы смотрели гей-порно и теперь должны мне xxx рублей". Только кроме него никому ее не отдавайте.
Если бы я злодействовал на Вашем сайте, и из-за одного меня залочили все торовские узлы, я бы на нем не остановился...
Сарказм пишет:
С другой стороны, раз Вы так хотите закрыть злодею доступ на Ваш сайт, узнайте, из России ли он? Возможно, будет целесообразным разместить на сайте ворованный авторский контент и написать на себя жалобу в РКН. Тогда Российские злодеи точно не пройдут. Правда, придется тогда лочить все известные прокси и анонимайзеры. Но ведь игра стоит свеч, не так ли? Да, и не стесняйтесь, блокируйте сразу подсетями, чтобы наверняка.
А это зачем? В таблице с пользователями добавьте поле, например, blocked, которое по умолчанию 0. При выборке проверяете поле, если там 1, то выводите какую-нибудь печальку. Соответственно, чтобы залочить пользователя, достаточно ему 1 в поле поставить. Можно автоматизировать по любым критериям.
Если сеть тор можно блокнуть по айпишникам (есть полный обновляюшийся список)
т.е., блокировать узлы тора? Всех пользователей тора??? (Добавление)
Да вообще блокировка IP - крайняя мера. Хотя бы связки IP+юзерагент блокируйте. И то зло. А вообще учетки блокировать надо.
Вы представляете, сколько пользователей можете потерять, заблокировав один IP?
1) Объявляем функцию. Указываем, какие аргументы нам нужны. В нашем случае аргумент $rgInput (сам массив, в котором нужно посчитать кол-во элементов) и необязательный аргумент $rec, который дает возможность посчитать все элементы многомерного массива. Если в списке аргументов присутствует оператор присваивания ($rec = false), это и означает, что параметр не обязательный.
3) Объявляем переменную, которая послужит нам счетчиком, и занесем в нее ноль. Мы же еще ничего не подсчитали, так?
5) В цикле перебираем элементы массива по одному (в одном уровне).
8) Проверяем, нужно ли считать уровни ниже. Если нужно, то проверяем, является ли текущий элемент массива массивом (масло масляное)) ).
Если да, то 11) Вызываем эту же функцию внутри нее самой (рекурсия). Она делает свои дела, и возвращает нам количество элементов уровнями ниже. Прибавляем число, возвращенное нашей ф-ей к нашему счетчику.
15) Прибавляем к нашему счетчику единицу. Это же тоже элемент массива, верно?
19) Возвращаем наш счетчик.
Проверяем. Заполним белибердой многомерный массив (22 - 26).
Вызываем нашу ф-ю, в которую передаем только первый аргумент - наш массив (28). Получаем 5. Все верно.
Вызываем нашу ф-ю, в которую передаем наш массив и второй аргумент, который подсчитает все элементы многомерного массива. Получаем 8. Все верно. Мы молодцы)
а можете рассказать о своих результатах? чего вы добились? и за сколько времени.
У меня был долгий путь. Начинался он в то время, когда интернет ещё не был так доступен, как сейчас, соответственно, и материалов в то время было не так много. Делал беспонтовые статичные сайты на html с табличной версткой, в основном, сочинским организациям.
Потом меня начали обходить ребята, которые были на порядок выше меня в плане образования, и я понял, что пора двигаться дальше. Долго пытался вникнуть, что такое php, mysql и как это все работает, потом наткнулся на вышеупомянутого тов. Попова. Опущу ту часть, когда меня раздирало написать свою соц.сеть, заработать миллиард и уехать жить в Кремниевую долину.
Нахватавшись уникальных знаний (типа выборок внутри do-while), я вступил в ряды говнокодеров с завышенным ЧСВ, что поспособствовало доброму такому росту цен на мои услуги. Спасибо Вселенной, что все мои тогдашние произведения искусства уже вывелись =) И да простят меня конторы, которым пришлось мне платить)
Затем понял, что программирование это хорошо, но общаться с местными клиентами нет никакого желания, т.к. это люди, которые не любят платить, не знают чего хотят, и их ЧСВ намного выше моего)
В итоге я сейчас занимаюсь предпринимательской деятельностью, никак не связанной с программированием. А в свободное время работаю над двумя своими проектами (один на Кохане, второй на Модексе). Кстати, переучиваться с Поповских курсов было не так-то просто.
Специалиста я посмотрел накануне закрытия моей веб-студии, и было очень обидно, что этих знаний я не получил раньше. Но больше всего мне помогли не учебники и не видеокурсы. Огромный вклад в развитие меня, как программиста и системного администратора, внес этот форум, за что я благодарен многим здешним парням.
На сегодняшний день могу без труда сесть и написать небольшой, но надежный, шустрый и безопасный движок для сайта. Могу на Kohan'е / CodeIgniter'е, могу нативным PHP. JavaScript как ненавидел, так и ненавижу (= Как и IE<10. Могу без труда за вечер поднять сервер на Debian, с настроенным iptables, раскинуть Apache с nginx'ом на фронт-бэк, и ещё много вещей, которые должен уметь делать сисадмин.
А учился я всему этому, если брать с самого начала, с 2006 года н.э.) Но те знания, которые я применяю сейчас, я получил пару лет назад.
Что-то я перестарался с ответом)
Zeross пишет:
Люди подскажите попутный лучший инструмент для программирования.
Это вещь субъективная. Личная, я бы даже сказал. Пробуйте из популярных: NetBeans, Dreamveawer (не так популярен, как раньше), PHP Expert Editor, Sublime Text, PhpStorm, и т.д. Почитайте эту тему, будет полезно.
Желаю Вам удачи в освоении этого нелегкого дела, и хорошего кода)
Значит недостаточно хотите учиться (= Я именно по этому курсу и учился, именно с этой записью. Решать Вам: получать образование или профессионально деградировать с Евгением П.
Zeross, не смотрите Попова, он плохому учит. Посмотрите курс "Специалист". Выполняйте задания, которые там дает преподаватель. К концу курса должно быть понятно, как и что делать. Не хватайтесь сразу за сложные задачи (регистрация, авторизация, аутентификация), Вы все равно с Вашим текущим багажом знаний наделаете, простите, фигни. Главное в этом деле - не спешить и вникать. И все получится. Успехов!
Доброго времени, друзья. Прошу помощи со шрифтами.
Подгрузил один из замечательных гуглошрифтов на сайт. Моя паранойя уверенна в том, что у кого-то он не подрузится, и вместо него браузер отрендерит какой-то шрифт из списка font-family. Перепробовал все безопасные шрифты, и все они не помещаются в мою менюшку. Указать разный размер для разных шрифтов невозможно (ну, или я хреново гуглил). Кто-нибудь может предложить кроссбраузерное решение без JS?