2017-10-01 2 views
0

이 질문은 특정 데이터베이스 엔진에 관한 것이 아니라 실제 내용입니다.데이터베이스에 풍부한 콘텐츠를 저장하는 방법은 무엇입니까?

예를 들어, frontend는 일종의 WYSIWYG 편집기 (예 : CKEditor)를 사용합니다. 사용자가 편집자에게 입력하는 모든 것을 저장하기는 쉽지만 디자인 (닫히지 않은 태그)을 손상 시키거나 보안 문제 (태그)를 추가 할 수 있습니다. 또한 이미지가있을 수 있으며 단순히 같은 필드에 저장할 수 없습니다.

markdown을 사용하는 대부분의 디자인/보안 문제를 회피 할 수 있지만 파일/이미지를 텍스트와 함께 저장하는 방법은 무엇입니까?

다른 테이블을 만들어야합니까?

posts 
    id 
    text 
post_images 
    post_id 
    image_id 
    image_path 

그리고 포스트 텍스트 내부

Hello, this is [image_id=22][/images/dgdgsdg.jpg] my image 

같은 것을 가지고 또는 다른 입증 된 솔루션이 있습니까?

모든 커다란 소셜 네트워크는 첨부 파일을 사용하여 일종의 서식을 허용하지만 두통없이 저장하는 방법은 무엇입니까?

답변

0

우리는 사실이 아니다 즉 인하에게

를 사용하는 대부분의 설계/보안 문제를 회피 할 수 있습니다. 마크 다운에는 인라인 HTML이 포함될 수 있으며 생성 된 HTML의 유효성을 검사하거나 정리해야합니다. 웹 프레임 워크의 새 니타 이저 기능을 사용하십시오.

일반적으로 이미지를 서버에 저장하면 HTML (또는 마크 다운)에 이미지 경로가 포함됩니다. 파일 이름을 전체 파일의 해시로 변경할 수도 있습니다. 다시 말하지만, 보통 이런 종류의 것을 처리하는 플러그인이 있습니다 (예 : Ruby on Rails의 경우 paperclip).

관련 문제