любой sql параметр строкового типа (varchar, nvarchar, и т.д.), который используется для построения динамического запроса, все еще уязвим
иначе, преобразование типов параметра (например, к интервалу, десятичному числу, дате, и т.д.) должно устранить любую попытку ввести sql через параметр
РЕДАКТИРОВАНИЕ: пример, где параметр @p1 предназначается, чтобы быть именем таблицы
create procedure dbo.uspBeAfraidBeVeryAfraid ( @p1 varchar(64) )
AS
SET NOCOUNT ON
declare @sql varchar(512)
set @sql = 'select * from ' + @p1
exec(@sql)
GO
, Если @p1 выбран из выпадающего списка, это - потенциальный вектор атаки внедрения SQL;
, Если @p1 формулируется программно w/out способность пользователя вмешаться тогда, это не потенциальный вектор атаки внедрения SQL
Вы не первый, кому это интересно. См. Обсуждение Роба Сейра и редактора HTML5 (hixie): http://blog.mozilla.com/rob-sayre/2008/02/19/bloaty-parts-of-the-whatwg-html5-specification -that-should-be-удалено / # comment-7559
Насколько я понимаю: существует ряд
Если они заинтересованы в hixie и никакой другой редактор не подойдет, чтобы поддержать отдельную спецификацию , Хикси предпочитает хранить их в HTML5, "[перефразируя] заплатив цену раздутой спецификации за то, что она не тормозит развитие Интернета".
[edit] обнаружил дополнительное электронное письмо от hixie о разделении материалов из спецификации HTML5: http://lists.w3.org/Archives/Public/public-html/2008Oct/0127.html
В версии 5 HTML теперь является интерфейсом приложения, а не просто языком разметки?
Да.
Если да, то каковы границы и определенные ограничения этой технологии?
В основном это добровольное правило не использовать больше каких-либо важных новых функций.
Когда заканчиваются границы языка разметки и начинаются предпочтения приложения пользовательского агента?
Это расплывчато. Является ли эта страница переполнения стека документом или приложением?
В HTML5 это разделение не кажется очень четким, но как отраслевой стандарт оно должно быть кристально четким, верно?
Спецификация четко сформулирована в своих рабочих требованиях. Необязательно четко разграничивать документы и приложения.
Эта статья может показаться вам очень интересной: X / HTML 5 в сравнении с XHTML 2 http://xhtml.com/en/future/x-html-5-versus-xhtml-2/
Поскольку W3C медленно получает обновленную спецификацию, и Интернет не только больше фрагментирует, но и Это потребности, которые могут быть удовлетворены, но которые на самом деле невозможны из-за слишком старых спецификаций, HTML5 работает над их исправлением, например, тег холста и наличие встроенного видео / аудио. Это заменяет очень часто используемый тег
, и вместо него необходимо использовать Flash.
Интернет вышел за рамки простого обслуживания веб-страниц, теперь у нас есть приложения javascript, поэтому теперь мы можем иметь больше интерактивности чем это было реально возможно раньше из-за некоторых изменений не только из HTML5, но и из-за перехода к более новой версии JavaScript.
Итак, HTML5 должен быть больше, чем просто языком разметки, поскольку веб-приложения вышли за рамки серверов, просто обслуживающих статические страницы,
At the risk of sounding like an oversimplification: if it's in the spec, it's part of the standard. In order to be compliant, an agent will have to implement the specified portions.
The fact that it's not "just a markup language" is not a new thing with HTML 5. HTML specifications were always a little bit more than simply document markup. From what I can tell, the efforts to refine HTML into a markup-only definition reached their pinnacle with XHTML.
HTML 5 seems to be an acknowledgement that pure markup alone doesn't really go far enough towards addressing certain real-world concerns, and an updated standard could help to resolve those issues: "But what should happen in this situation?" "Oh well, that's up to the user agent, we don't worry about that in our markup spec." ... Not a very satisfactory solution in a web where end-user experience suffers because of a lack of consensus on just such issues.
Is it an API? perhaps, but as a language it will still work as mere markup when needed (think of non-graphical user agents). In some cases, it should work better than the available choices.
To answer your last question: no, in a standard, the separation between markup language and behaviour of the user agent does not need to be "crystal clear". What made you think it did? But I suspect it is clearer than you think: can you give an example of a part of the spec where you are not sure if it is referring to markup or user agent behaviour?
HTML с самого начала имел это противоречие между разметкой и поведением (см. Почему у нас есть элемент IMG? ). HTML и Интернет уже неразрывно связаны. Спецификации HTML колеблются между технической чистотой и прокладыванием тропинок.
HTML - это язык разметки, но поведение приложения, реализующего спецификацию, ограничено. Для более чистой разметки более подходящими будут XML или SGML.
Насколько я понимаю, вы спрашиваете, почему спецификация не ограничивается частью разметки (x / HTML 5), а вместо этого также определяет поведение агента пользователя, это верно? Если это так, я считаю, что это потому, что спецификация намеренно охватывает поведение пользовательского агента. Он определяет, как реализуемое приложение должно вести себя, чтобы соответствовать спецификации.
Если вы сегодня начинали с нуля, вы не получите HTML5. Однако мы не начинаем с нуля, и спецификации HTML всегда пытались сбалансировать реальный мир с идеалом.
Here is the link stating the differences between HTML5 and HTML4. A lot of attributes and tags were removed from HTML5 considering that they were better handled by CSS. What if the programmer easiness if he is not mastered the CSS?
Возможно, лучший ответ на ваш вопрос - «Что вы пытаетесь сделать?».
Я говорю это, потому что если вы сейчас хотите создать веб-приложение, которое работает в современных веб-браузерах (читай: не в IE) с использованием HTML5, то объем / границы, о которых вы собираетесь заботиться, являются основными современные производители браузеров в настоящее время поддерживают и планируют поддерживать ее в ближайшее время.
Google Wave сделал это и представил отличный продукт, который работает в разных браузерах (Firefox / Chrome / Safari / Opera). Некоторые основные клиенты HTML5, которые уже широко поддерживаются, - это video / audio / canvas / storage / geo.
http://radar.oreilly.com/2009/05/google-bets-big-on-html-5. html