2010-06-30 9 views
5

사용자가 자바 스크립트 코드를 제출하여 다른 사용자에게 제공 할 수있는 웹 응용 프로그램에 대한 아이디어가 있습니다. 나는 이것에 대해 가장 좋은 방법이 궁금합니다. Javascript를 데이터베이스에 저장 한 다음 요청할 때 사용자에게 제공 할 수 있습니까? 또한 이름, 사용자 등급 등 각 코드 조각에 메타 데이터를 첨부 할 수 있기를 바랍니다. 따라서 데이터베이스는 다소 저조한 마음의 자연스러운 해결책처럼 보입니다. 나는 MongoDB와 함께 백엔드에서 Rails를 사용하고있다.데이터베이스에 자바 스크립트를 저장할 수 있습니까?

+8

"사용자가 다른 사용자에게 제공 할 수있는 자바 스크립트 코드를 제출할 수 있습니다." 와, 나는 나이에 더 나쁜 생각을 본 것 같지 않습니다. – quantumSoup

+3

@ Aircule, 그건 처음에 내가 생각한 것이지만, 나는 "위로 먹었다"는 것은 "본 사람"을 의미한다고 생각합니다. 기본적으로 미리보기의 데이터베이스입니다. – nickf

+0

그런 경우 모든 종류의 텍스트를 저장할 때와 같이 저장하십시오. 특수 html 문자를 HTML 엔터티 (예 : <<)로 변환하는 것을 잊지 마십시오. – quantumSoup

답변

5

자바 스크립트는 텍스트 문자열입니다. 데이터베이스는 텍스트 문자열을 저장할 수 있습니다. 따라서 데이터베이스는 Javascript를 저장할 수 있습니다.

내가 생각하지 못한 특정 아이디어가 없다면, 전 @ Aircule의 정서에 전적으로 동의합니다.

와우, 나는 나이 들어서 더 나쁜 생각을하지 못했다고 생각합니다.

+0

나는 OP는 다른 사용자가보기, 실행하지 말아야한다고 생각합니다. like codepaste.net –

+0

@Rex 그렇다면 실제로 그렇게 나쁜 생각은 아닙니다. 그런 다음에는 이전에 완료되었습니다. :) – deceze

+0

CMS와 같은 공유 개발 시나리오에서는 업로드 시스템을 신뢰할 수있는 사용자/개발자로 제한하는 한 의미가 있습니다. –

4

예, 필요한 사항을 파악한 것 같습니다. 임의 코드를 실행하지 않도록 조심하십시오. XSS의 세계로 들어갈 수 있습니다.

분당 수백만 건의 조회가 발생하지 않는 한 모든 데이터베이스 또는 프레임 워크가 정상적으로 작동합니다.

2

l 매우은 XSS 및 CSRF에서 읽는 것이 좋습니다. (뻔뻔한 플러그, 나는 높은 수준의 개요 here를 블로깅했다.) 당신이 적극적으로 그들을 보려고 할 때 이러한 종류의 것들을 막을만큼 힘들다. js를 위조하는 것은 절대적인 악몽이 될 것이다.

+0

링크가 끊어졌습니다. 업데이트 해 주시겠습니까? – kol

관련 문제