Я нашел статью, утверждающую, что $_SERVER['PHP_SELF'] уязвим для XSS. Я не уверен, правильно понял ли я, но я почти уверен, что это неправильно. Как это может быть уязвимо для атак XSS !? <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> <!– form contents –> </form>
Я разработал веб-приложение, которое позволяет моим пользователям управлять некоторыми аспектами веб-сайта динамически (да, какие-то cms) в среде LAMP (debian, apache, php, mysql) Например, они создают новости в своей частной области на моем сервере, а затем публикуются на их веб-сайте через запрос cURL (или ajax). Новость создается с помощью редактора WYSIWYG (fck в данный момент, возможно, […]
Я беру $ _POST информацию и сохраняю ее в БД, а затем в запросе и распечатываю эту информацию пользователю. Должен ли я использовать htmlspecialchars (), прежде чем вставлять эту информацию или после того, как я ее запрошу, прежде чем вывести ее? Кроме того, мне нужна возможность для пользователей иметь возможность использовать кавычки и другие обычные […]
На данный момент я применяю «брось все на стену и вижу, какой метод палочки останавливает вышеупомянутые проблемы». Ниже приведена функция, которую я объединил: function madSafety($string) { $string = mysql_real_escape_string($string); $string = stripslashes($string); $string = strip_tags($string); return $string; } Однако я убежден, что есть лучший способ сделать это. Я использую FILTER_ SANITIZE_STRING, и это, похоже, не […]
Безопасен ли этот код для предотвращения атак XSS? <?php $string = "<b>hello world!</b>"; echo "without filtering:".$string; echo "<br>"; $filtered = htmlspecialchars($string); // insert into database filtered echo "After filtering:".$filtered; echo "<br>"; $de_filtering = htmlspecialchars_decode($filtered); //retrieve from database and display echo "After de-filtering:".$de_filtering; ?>
Учитывая следующие два фрагмента html / php: <input type="text" name="firstname" value="<?php echo $_POST['firstname']; ?>" /> а также <textarea name="content"><?php echo $_POST['content']; ?></textarea> какую кодировку символов мне нужно использовать для эхо-переменных $_POST ? Могу ли я использовать любые встроенные функции PHP? Предположим, что значения $_POST еще не были закодированы. Никакая магия не цитирует ничего.
От этого зависит, будет ли вход печататься пользователю? В моем случае мне нужно вернуть данные обратно пользователю (комментарии и биография). Благодаря!!!
Кто-нибудь знает о хорошей функции там, чтобы фильтровать общий ввод от форм? Zend_Filter_input, похоже, требует предварительного знания содержимого ввода, и я обеспокоен тем, что использование чего-то вроде HTML-очистителя будет иметь большое влияние на производительность. Что-то вроде: http://snipplr.com/view/1848/php–sacar-xss/ Большое спасибо за любой вклад.
Я читал, что этого достаточно и даже рекомендуется избегать символов на выходе, а не на входе. Его можно легко применить ко всем переменным get, поскольку они не вводятся в базу данных с уровня формы. Однако я не уверен, что делать со всеми пост-переменными. Если он не поступает из базы данных, поэтому, если это сырые входные […]
если я дезинфицирую свои вставки в БД, а также htmlentities($text, ENT_COMPAT, 'UTF-8') HTML, я пишу htmlentities($text, ENT_COMPAT, 'UTF-8') – есть ли смысл фильтровать входы с помощью xss_clean? Какие еще преимущества он дает?