저는 개인 백업 시스템을 작성하고 흥미로운 문제로 실행하기 위해 Yesod를 사용하고 있습니다. 나는 하스켈에 관해서는 상대적으로 경험이 없기 때문에 이것들 중 어느 것도 최적이라고 확신하지는 않는다.입력시 따옴표가 자동으로 추가됩니다.
postHostR :: Text -> RcPath -> Handler Text
postHostR hostName f = do
hostId <- insertIfDontExist hostName
tBody <- (T.pack . show) <$> getRawRequest
time <- lift getCurrentTime
newId <- runDB $ insert $ RcFile hostId tBody (makePath f) time
return $ T.pack $ show newId
나는 DB에서 검색 텍스트의 상관 자동으로 추가 따옴표가 있습니다 : 여기
내 핸들러 중 하나입니다. 나는 이것이 일종의 XSS 보안이라고 생각하지만, 페이지를 렌더링하지 않을 것이므로 걱정하지 않는다. 따옴표는 실제로 텍스트의 일부가 아닌 것 같습니다 (첫 번째 문자와 마지막 문자는 제거했지만 실제로는 따옴표를 제거하지 않은 것 같습니다).
감사합니다.
비난하는 것입니다,하지만 난 익숙하지 않다;
(이 여기에서 말할 어렵다. 다시, 나는 유형 서명에 대해 완전히 잘못 될 수 있음) 패키지가 관련되어 있습니다. '쇼'는 어떤 타입입니까? 각각의 호출을'(show :: _)'로 변경하고 에러를 보면 알 수 있습니다. – dfeuer
거의 확실하게'newId'는'Text' 또는'String'입니다. 'show "abc"== "\"abc \ "" –
물론, 당신이 맞습니다. 나는'Text' 타입의 어떤 것에'show'를하고 있었고, 할 일은'unpack'을 사용해서 실제 문자열을 얻는 것입니다. 여러분 중 한 명이 질문에 대답 해 주시겠습니까? –