2010-05-18 2 views
3

나는 Craigslist와 유사한 웹 사이트를 구축 중입니다. html 형식의 텍스트 (굵게/이탤릭체/글꼴 크기 등)를 SQL 2008 데이터베이스에 저장하는 방법을 알고 싶습니다.데이터베이스에 HTML 형식의 텍스트 저장

즉, 사용자는 텍스트를 입력하고 글꼴 크기, 굵은 글꼴 등으로 형식을 지정하고 정보를 저장합니다. 데이터베이스에 저장하는 가장 효율적인 방법은 무엇입니까?

답변

4

를 저장하는 것입니다. 보안을 위해 매개 변수화 된 쿼리를 사용해야합니다. 읽기 http://www.aspnet101.com/2007/03/parameterized-queries-in-asp-net/

+2

예를 들어 중국어 문자와 같은 유니 코드 텍스트를 저장할 수 있으므로 varchar (max) 대신 nvarchar (max)를 사용하십시오. –

+0

SQL 필드에 인코딩 할 이유가 없습니다 :)이 방법으로 많은 공간을 사용합니다 ... 이유가 있고 아마도 오류를 만들거나 쓰기를합니다. – Aristos

2

아마 그냥 NVARCHAR (최대) 필드에 NVARCHAR (최대)로 광고 텍스트 데이터 형식이 저장

1

나는 XML 데이터 형식이 아닌 NVARCHAR (max) 또는 Text 데이터 형식을 사용한다고 말합니다.

이렇게하면 xml 데이터 형식이 줄 바꿈에 따라 변환되어야하는 콘텐츠에 쉽게 액세스 할 수 있습니다.

+0

좋은 지적입니다. 입력 된 HTML이 잘 형성된다는 보장은 없습니다. –

1

나는 그대로 NVARCHAR (MAX) 필드에 채울 것입니다.

물론 매개 변수화 된 쿼리를 사용하면됩니다.

0

SQL Server 2008 이상을 사용하는 경우에는 nvarchar (MAX) 필드에 입력합니다. SQL Server 2005 이하 버전을 사용하고 있고 문자 수가 2000보다 작 으면 nvarchar (2000) 유형을 사용할 수 있습니다. 너무 제한적인 경우 텍스트 유형을 사용하십시오.

3

제한된 수의 HTML 태그 만 허용해야합니다. 그렇지 않으면 교차 스크립트 삽입이 발생할 위험이 있습니다.

예를 들어 사용자가 <script> 또는 <style> 태그를 입력하지 못하게하십시오. 계속 진행하기 전에 교차 스크립트 삽입에 대해 더 자세히 읽어 보시기 바랍니다! 행운을 빌어 요

+0

좋은 지적입니다. – user279521

관련 문제