Jump to content
Search In
  • More options...
Find results that contain...
Find results in...



#0
Guest

Твое меню


Вход

Sign In



Регистрация

Меню форума


Recommended Posts

Перед вами несколько распространённых ошибок, которые совершают не только начинающие программисты, но и опытные разработчики программного обеспечения. Некоторые из них приводили к крупным IT-катастрофам, краже данных, взломам крупных сайтов, и подобным неприятным ситуациям. Поэтому в следующий раз, когда напишете программу, взгляните на этот список и убедитесь, что вы не допустили крупную неприятность.

1.jpg.84de797420a163a44d80cce0876e8847.jpg

Переполнение буфера

Исторически одна из самых опасных ошибок. Именно благодаря ей на свет появились черви Морриса и Nimda, которые в сумме заразили несколько миллиардов персональных компьютеров. Суть ошибки проста: из-за неправильного вычисления позиций записи в память пользователь может внести данные «за пределы» буфера. В лучшем случае, это приведёт к ошибке, а потенциально – к тому, что хакер добавит в исполняемый код «вредоносные» вставки.

SQL-инъекция

SQL инъекция – хакерская атака, позволяющая получить им прямой доступ к базе данных. Используя простую конкатенацию SQL-команд, злоумышленники считывают базы данных, удаляют и добавляют данные, устанавливают собственные ссылки.

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

Инъекции команд ОС

Некоторое программное обеспечение использует встроенные команды операционной системы, например, для извлечения данных компьютера или запуска приложения. В этом случае, здесь может возникнуть схожая ошибка – инъекции команд вашей ОС. Без надлежащей проверки введённых данных, злоумышленник получает возможность влезть в ваш компьютер, изменить разрешения файлов, установить приложение, украсть данные или удалить что-то важное. Как это происходит – представляют более-менее все, кто хоть раз имел дело с компьютерным вирусом.

Переполнение числовых типов

Любой тип в любом языке программирования имеет свои пределы. Например, в 2-байтовое число без знака вы можете записать максимум 65535. Теперь представьте, что вам надо сложить 2 числа этого типа 65530 и 20.

Результат 65555 не впишется в тип short, а на выходе вы получите непредсказуемое значение. Таким образом, дальнейшая работа с этой переменной приведёт к заведомо неправильному результату и соответственно к неправильной работе прикладной программы.

Неправильная оценка размера массива

Бытует стереотип, что ошибки доступа к несуществующему индексу массива возможны только в C или C++, так как здесь используется ручное управление памятью. Это не так: в Java, Python, JavaScript и других «автоматических» языках подобные просчёты разработчика – не редкость. При неправильной оценке индекса массива пользователь получает доступ к неиспользуемым ячейкам памяти. Это, в свою очередь, приводит к критическим ошибкам в программе.

Использование ресурсов без ограничений

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

К этому виду ошибок можно отнести и создание безразмерных массивов, потоков, использовании дескрипторов файлов или соединений в БД без проверки и закрытия.

Указатель на освобождённую память

В таких языках, как C и C ++, память должна быть освобождена, как только вы закончите с ней работать. Дальнейшее использование указателей на этот блок памяти приводит к ошибкам. Несмотря на очевидность описанного, в новостях вновь и вновь всплывают случаи «заморозки» крупных программных систем из-за этого сбоя.

Вывод нулевого указателя

До инициализации указатель имеет нулевое значение. Работа с ним приводит к ошибке. К примеру, в Java это NullPointerException. Ошибка хоть и детская, но очень распространена, поэтому избежать появления в этом рейтинге не могла.

Отсутствие инициализации

Локальные переменные существуют только внутри функции или небольшого блока, поэтому иногда программисты игнорируют их нормальную инициализацию. Между тем, если присвоение стартового значения оставить на откуп прикладной программы, вместо ожидаемого нуля или пустого символа, вы можете увидеть ошибку Missing Initialization или какой-то мусор из памяти.

Рискованные алгоритмы

При работе с персональными данными необходимо надёжно их защищать. Не стоит полагаться на собственные силы, ведь в мире существует множество готового программного обеспечения и алгоритмов, которые работают куда лучше вашего неопытного мозга. Впрочем, даже к их использованию надо подходить с умом. Так алгоритм хэширования SHA-1 устарел и легко взламывается современными хакерами, поэтому стоит отдать предпочтение SHA-2 или SHA-3. В противном случае, вы рискуете не только репутацией своего ПО, но и материально.

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Similar Content

    • By Sirius Black
      В наше время практически невозможно найти человека, который бы не знал английского языка хотя бы на начальном уровне, причем многие искреннее полагают, что деловой английский практически ничем не отличается от разговорного. На самом деле, существует целый рад отличительных особенностей бизнес-английского, о которых осведомлены профессиональные преподаватели языковых школ и ученые-лингвисты. Таким образом, чтобы выучить иностранный язык и без каких-либо препятствий общаться с зарубежными поставщиками и клиентами очень важно ответственно отнестись к поиску проверенного языкового центра. Наиболее заинтересованными в подобном обучении можно назвать следующие категории людей:
      💹Частные предприниматели, занимающиеся бизнеса на международном уровне. Поскольку английский является универсальным языком общения, каждому бизнесмену необходимо умение вести деловую переписку на английском и понимать условия контрактов.
      💹Ученые и студенты, претендующие на получение грантов и участие в программах обмена, спонсируемых иностранными компаниями.
      💹Претенденты на место в крупных корпорациях, для которых знание делового английского языка является значительным преимуществом.
      💹Люди, планирующие по тем или иным причинами длительное время жить в Америке или Великобритании, а также открывать в другой стране собственный бизнес.
      Специфика делового английского языка
      В сравнении с разговорным языком, деловая речь гораздо более структурирована и характеризуется наличие целого ряда терминов, оперировать которыми можно только при условии точного понимания их значения. Расширение лексикона является не единственной особенностью, в частности, написание деловых писем требует особых навыков в сфере построения фраз и использования различных обращений. Поскольку информацию об употреблении в деловой речи тех или иных языковых оборотов весьма трудно найти в свободном доступе, все большее количество людей записываться на специальные курсы делового английского языка.
      Организация процесса обучения деловому английскому
      В рамках учебной программы языкового центра, слушатели делового английского не только отрабатывают навыки написания деловых писем и узнают последними тенденции общения в бизнес-среде, но и общаются с носителями языка. Комбинирование теоретической и практической части дает возможность максимально охватить материал и в кратчайшие сроки научиться без проблем налаживать контакты с иностранными бизнесменами.
       
       
    • By Sirius Black
      Есть такой метод обучения плаванию – бросить человека в воду. Если он хочет выжить, ему ничего не остается, как научиться держаться на плаву. Похожий принцип работает и в изучении иностранных языков: погружаясь в новую языковую среду, слыша иностранную речь каждый день во множестве разных бытовых ситуаций, человеку ничего не остается, как начать запоминать незнакомую лексику, впитывать грамматические принципы, даже не отдавая себе в этом отчета на сознательном уровне. Жизнь показывает – эмигранты, приезжая в чужую страну и попадая в полностью незнакомую языковую среду, даже не тратя много усилий на специальные занятия, через некоторое время начинают понимать местный язык, а еще спустя какое-то время – и сносно на нем общаться…
      Но менять место жительства ради быстрого овладения иностранным языком решаются не многие, да это сегодня и не обязательно. Изучить английский язык методом погружения можно, не покидая пределов России, в своем родном городе. Такие группы изучения английского есть и в Москве, и в других российских городах.
      Метод языкового погружения – антипод грамматико-переводного метода. Переводы со словарем с русского на английский и наоборот и заучивание правил могут быть полезны при обучении переводчиков, и то не как единственные методы работы. Английский при изучении методом языкового погружения воспринимается без комментариев на родном языке студента. Никакой теории, механического зазубривания – новые темы или грамматические правила, когда в них возникает необходимость, даются в объяснениях на изучаемом языке. Даже если часть этих объяснений ученикам непонятна, в общих чертах информация будет воспринята. Это стимулирует студентов общаться без психологических барьером, не впадать в панику, если значение какого-то слова неизвестно.
      Примерно так изучает язык младенец: он просто живет в языковой среде, слушает те звуки, которые его окружают, и постепенно учится их соотносить с теми предметами и действиями, которые он видит в своей жизни.
      При всей популярности этого метода он не лишен недостатков. Поначалу психологически бывает очень непросто отказаться от использования родного языка на все время занятия. Если что-то оказалось непонятно, на вопросы вам тоже ответят по-английски, и не все в объяснении может быть понятным. Зато если постараться и на уроках забыть о том, что у вас есть родной язык – не общаться с однокурсниками и преподавателем на русском – вам придется задействовать весь свой запас знаний иностранного языка, чтобы продолжать общаться. Это трудно, но результат того стоит. Обучение в таких условиях происходит быстро – и в какой-то момент вы даже не замечаете, что не просто общаетесь, а полноценно учитесь.
      Изучая английский язык методом погружения, вы экономите свои силы, которые не приходится тратить на заучивание грамматических правил и бесконечных списков слов.
    • By Sirius Black
      Жизнь и сновидения – страницы одной и той же книги. 
      Артур Шопенгауэр
      Я могу долго рассказывать про пользу сна для человека, описывать научные исследования, приводить факты и выставлять красивые картинки! Но я не стану этого делать, потому что хочу рассказать о другом, о той фантастике, которую вы можете проживать в реальности каждую ночь. О том, как возможно управлять своими снами и запоминать их, как легко высыпаться с помощью гаджетов, или как пробуждаться от приятного запаха моря.
      Вы только представьте, насколько далеко ушел прогресс, что твоя подушка, может имитировать звуком и движением спокойное равномерное дыхание, или с виду обыкновенная маска позволит руководить своими сновидениями, как в виртуальной игре. И как же блаженно просыпаться не под тревожный писк будильника, а от приятного аромата кофе или морского бриза.

      Однажды Чжуан Чжоу приснилось, что он бабочка: он весело порхал, был счастлив и не знал, что он – Чжоу. А проснувшись внезапно, даже удивился, что он – Чжоу. И не знал уже: Чжоу ли снилось, что он – бабочка, или бабочке снится, что она – Чжоу. 
      Чжуан цзы
      Я опишу несколько гаджетов, которые пришлись мне по душе
      1. Маска Remee — помощь при осознанных сновидениях

      Сны — отражение реальности. Реальность — отражение снов. 
      Зигмунд Фрейд
      Эта модель для меня является фаворитом.
      Мягкая на ощупь маска Remee состоит из нескольких слоев. Гибкая основа позволяет не замечать лишний предмет на лице, а светодиодные сигналы помогают очутиться внутри Ваших сновидений. Ее легко можно перепрограммировать под свой стиль сна с помощью компьютера. Нужно зайти на официальный сайт и просто поднести ее к экрану.
      Сложно поверить в это? Я и сама трудно в это верю, но прогресс не стоит на месте.
      2. SensorWake Olfactory Alarmclock — ароматный будильник

      Если тебе в ночь с воскресенья на понедельник снится, что звонит будильник, то знай – это вещий сон.
      Юрий Татаркин
      Будильник SensorWake — это гениальная задумка юного Гийома Роллана, который не мог просыпаться под надоедливый писк. Он быстро стал хитом, и распространился во все уголки мира.
      В каждой капсуле содержатся молекулы запаха, которые под воздействием теплого воздуха нагреваются и разносятся по всему пространству комнаты. Капсулы с запахом мяты, леса, тостов, можно купить отдельно.
      3. Повязка контроля сна Sleep Shepherd

      Не ужинать — святой закон,
      Кому всего дороже легкий сон.
      Александр Сергеевич Пушкин
      Кратко говоря, это Ваш «улучшитель сна». Исследования, опирающиеся на данные показывают, испытуемые высыпаются с ней гораздо лучше. На сегодняшний день, это лучшее, что можно придумать.
      В нем даже есть система «умного пробуждения», когда система начинает стимулировать вашу мозговую активность.
      Здесь не описать всего великолепия этой чудо-маски, поэтому, более подробно, можете почитать сами.
      4. Уютный робот-подушка

      Уровень снов, к сожалению, не зависит от числа подушек.
      Веслав Брудзиньский
      Подушка Somnox разработана специально для уютных объятий. При этом устройство умеет «дышать», а также считывает ритм дыхания своего владельца и понимает, спит он или бодрствует. Благодаря встроенным Bluetooth-спикерам Somnox может проигрывать музыку или вашу любимую аудиокнигу (вместо сказки на ночь). А ещё устройство снабдили функцией «искусственного рассвета» для лёгкого пробуждения.
      В общем функций у нее предостаточно, что бы она могла, действительно, заинтересовать.
      Я нашла много интересных вещей, которые помогали бы быстро заснуть, и приятно проснуться! Но важнее задуматься о качестве сна (можете почитать статью: Здоровый сон — залог успешного дня ) поэтому не забывайте, что хорошо выбранный Вами матрас, может расслабить ваши мышцы тела после тяжелых будней и окунуться в магию ночных сновидений.
      Приятных снов!
       
  • Recently Browsing   0 members

    No registered users viewing this page.

Важно:

Администрация форума не несет никакой ответственности за опубликованную информацию и действия пользователей.

Social Links

Facebook Group Click Here
Steam Group Click Here
Teamspeak Server Click Here
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.