var newDate = dateFormat(jsonDate, "mm/dd/yyyy");
Есть ли другой вариант без использования библиотеки jQuery?
Часто вводные руководства вообще не говорят о проверке данных от пользователей. Как и во всех средах программирования, никогда не доверяйте данным, которые вы получаете от пользователей. Научитесь использовать такие функции, как is_numeric ()
, isset ()
и mysql_real_escape_string ()
для защиты вашей системы.
Есть также функции, которые позволяют вам для доступа к удаленным файлам и другим творческим вещам. Я бы избегал их до тех пор, пока вы не поймете, как и когда они работают (часто они отключены по соображениям безопасности).
OWASP дает много информации о проблемах безопасности, которые являются самыми большими проблемами в современных приложениях. Приятно видеть, что у них есть специальная страница PHP
Большинство проблем безопасности, связанных с PHP, возникают из-за использования неанализируемого "внешнего" "(GET / POST / COOKIE) переменные. Люди помещают такие данные непосредственно в пути к файлам или запросы sql, что приводит к утечке файлов или инъекциям sql.
Обратите внимание на исправление защиты Сухосина и проверьте уязвимости безопасности, которые он устраняет .
Если вы используете базу данных mysql, убедитесь, что вы вызываете mysql_real_escape_string при отправке данных в базу данных
вот ссылка на хорошие практики программирования безопасности PHP.
Большинство проблем безопасности связаны с вводом пользователем (естественно) и проверкой того, что они не обманывают вас. Всегда проверяйте правильность введенных вами данных.
http://htmlfixit.com/cgi-tutes/tutorial_PHP_Security_Issues.php
Избегайте использования register_globals .
Предупреждение: Эта функция УСТАРЕЛА в PHP 5.3.0 и УДАЛЕНА в PHP 5.4.0.
Существует множество мер предосторожности. Я могу порекомендовать книгу Криса Шифлетта: PHP и безопасность веб-приложений.
is_uploaded_file ()
, чтобы проверить, что файл был загружен, и move_uploaded_file ()
вместо copy ()
или rename ()
.
(В произвольном порядке)
РЕДАКТИРОВАТЬ: Для "новичков" это основная причина (и поскольку у меня есть время, чтобы объяснить это):
Глобальные регистры - это заблуждение. Это самая большая дыра в безопасности. Например, если register_globals включен, URL-адрес http://www.yourdomain.com/foo.php?isAdmin=1 объявит $ isAdmin как глобальную переменную без необходимости кода. Я не знаю, почему эта «функция» попала в PHP, но люди, стоящие за этим, должны иметь на лбу татуировку следующего содержания: «Я изобрел глобальные регистры PHP», чтобы мы могли убежать от них, как от вредителей, когда мы увидеть их!
Волшебные цитаты - еще одна глупая идея, которая пришла в PHP. Обычно при включении PHP автоматически избегает кавычек («становится» и «становится»), чтобы помочь с атаками с использованием SQL-инъекций. Идея неплохая (помогает избежать атак с помощью инъекций), но экранирование всех значений GET, POST и COOKIE делает ваш код настолько сложным (например, вам придется каждый раз отключать экранирование при отображении и данных). Кроме того, если в один прекрасный день вы отключите этот параметр, не внося никаких изменений в свой код, весь ваш код и / или данные будут повреждены и (даже более) уязвимы для атак с помощью инъекций (да, даже когда включено, вы уязвимы).
Данные из базы данных - это самая ценная вещь на вашем сайте.Вы не хотите, чтобы люди с ним связывались, поэтому защитите себя и читайте об этом и код, помня об этом.
Опять же, это может привести к проблемам с безопасностью. Сообщение об ошибке может дать хакерам подсказку о том, как работает ваш код. Кроме того, эти сообщения ничего не значат для ваших посетителей, так зачем их показывать?
Сколько из вас, пользователей окон, сказали окнам, что они в порядке, чтобы позвонить домой и убедиться, что ваша копия подлинна?
0.
Здесь много высоких и сильных ответов «мой компьютер - это мой домен», и суть в том, что он грубый, а не противозаконный. Скорее, его обыденность. Держите раскрытие в лицензионном соглашении, и вы готовы пойти.
-121--2093518-не используйте «Register Global Variables» и фильтруйте пользовательский ввод для xss и инъекций
-121--1296481-Язык Vs программист. Вы можете написать самую серьезную уязвимость, и вы не получите предупреждение или сообщение об ошибке. Уязвимости могут быть такими же простыми, как добавление или удаление 2 символов в коде. Существуют сотни различных типов уязвимостей, влияющих на приложения PHP. Большинство людей думают о XSS и Sql Injection, потому что они наиболее популярны.
Прочитайте верхний 10 OWASP .
По возможности используйте подготовленные операторы (учебник). Это почти обязательное условие при работе с пользовательским вводом (я говорю "почти", потому что есть несколько случаев, когда они не работают), и даже если вы не работаете с вводом, они помогут вам выработать привычку. Не говоря уже о том, что они могут привести к улучшению производительности и намного проще, как только вы освоитесь, чем поштучная дезинфекция.
не используйте "Register Global Variables" и фильтруйте пользовательский ввод для xss и инъекций
display_errors
в production