Стандарты кодирования PHP для введенных пользователем данных

В последнее время мы сталкиваемся с множеством проблем с введенными пользователем данными

как

  1. They are using different languages
  2. entering special characters как " '

Как справиться со всем этим, после одной проблемы ... мы сталкиваемся с другой.

ИЛИ, есть ли какой-либо стандарт кодирования или расширенные учебные пособия?

благодаря

6
nl ja de
«Как вызвать проблемы»? Где? Первое правило, независимо от языка, заключается в том, чтобы никогда не доверять пользовательскому вводу и не иметь базового понимания понятий, описанных в The Great Эскапизм (или: что вам нужно знать для работы с текстом в тексте) .
добавлено автор deceze, источник
Ваш вопрос слишком расплывчатый, чтобы быть ответственным. Определите, какие у вас проблемы.
добавлено автор deceze, источник
Только одно золотое правило: НИКОГДА не доверять пользовательскому вводу
добавлено автор J0HN, источник
WOW, -6 ... отлично ... люди готовы отметить негатив, чем ответить на проблему реального мира
добавлено автор cnu, источник
использование UTF-8 или UTF-16 должно делать трюк, не проверяйте текст только на английском языке [a-z] и убедитесь, что ваша база данных настроена для сохранения иностранных символов
добавлено автор Waygood, источник

2 ответы

Обычно вы должны «избегать» всех специальных символов при работе с введенным пользователем вводом.

Если вы обнаружите, что некоторые символы причиняют хаос вашей системе, вы можете удалить их так:

<?php

$BadChars = array(
"'",   //Single quote - can harm SQL queries
"%",   //Percent sign - can harm SQL queries
"<",   //Less Than - can be used for XSS
">",   //Greater Then - can be used for XSS
";",   //Semicolon - can harm SQL queries
"£" 
);    

// $Input = $_GET['Name'];

$Input = "HELLO'%<;TEST";

foreach ( $BadChars as $Char )
{
    $Input = str_replace($Char, "", $Input);
}

print "Filtered Input: $Input";

?>

You can also escape data before it goes into a database using existing functions such as http://php.net/manual/en/function.mysql-real-escape-string.php

1
добавлено

Если вы хотите выбрать эти символы из данных, вы можете рассмотреть регулярные выражения. Ознакомьтесь с документацией здесь .

1
добавлено
phpGeeks
phpGeeks
3 620 участник(ов)

Best PHP chat Еще: @dbGeeks - базы данных @phpGeeksJunior - новичкам @moscowProgers - IT Москва @ebanoePhp - весёлый канал о PHP @laravel_pro - Laravel @jobGeeks - вакансии @jsChat - JS Правила: https://t.me/phpGeeks/764859 ДР - 28.03.2016

PHP
PHP
1 309 участник(ов)

Группа про современный PHP. Обсуждаем ООП, TDD, BDD, DDD, SOLID, GRASP и прочие крутые базворды Для ознакомления: https://gist.github.com/mkusher/711bd46f0b62fbae851182e6fb3b1839 Группа PHP для новичков @phpGeeksJunior Вакансии: https://t.me/fordev

PHP — вакансии, поиск работы и аналитика
PHP — вакансии, поиск работы и аналитика
1 251 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению PHP, Laravel, Symfony, Yii и т.д. Здесь всё: full-time, part-time, remote и разовые подработки. См. также: @qa_jobs, @devops_jobs, @javascript_jobs, @nodejs_jobs, @uiux_jobs, @products_jobs

phpGeeksJunior
phpGeeksJunior
980 участник(ов)

Группа для новичков. Не стесняйтесь задавать вопросы по php. Не флудить!!!! Правила и полезные ссылки https://gist.github.com/exileed/a53dd0617b35a705ff44b38c8028e6a5 Бест от пхпгикс https://t.me/best_of_phpgeeks

phpclub.ru
phpclub.ru
872 участник(ов)

Официальный чат phpclub.ru - остерегайтесь подделок #rules Правила группы - уважайте друг друга. Скриншоты -> ссылками. Код -> pastebin.com. Вакансии строго -> https://goo.gl/4bNxym, в чат ссылку. За рекламу и мат - БАН!

Devall | PHP
Devall | PHP
272 участник(ов)

Пристанище для восходящих звёзд разработки, которые перейдут на более адекватные языки. http://combot.org/chat/-1001014863761 Инвайт: j.mp/devallphp