{"version":"1.0","provider_name":"\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ube14\ub85c\uadf8","provider_url":"https:\/\/www.couchbase.com\/blog\/ko","author_name":"Laura Czajkowski, Developer Community Manager, Couchbase","author_url":"https:\/\/www.couchbase.com\/blog\/ko\/author\/laura-czajkowski\/","title":"Validating your Sync Gateway documents with synctos","type":"rich","width":600,"height":338,"html":"<blockquote class=\"wp-embedded-content\" data-secret=\"Ww4KcbMHHi\"><a href=\"https:\/\/www.couchbase.com\/blog\/ko\/validating-your-sync-gateway-documents-with-synctos\/\">\uc2f1\ud06c\ud1a0\uc2a4\ub85c \ub3d9\uae30\ud654 \uac8c\uc774\ud2b8\uc6e8\uc774 \ubb38\uc11c \uac80\uc99d\ud558\uae30<\/a><\/blockquote><iframe sandbox=\"allow-scripts\" security=\"restricted\" src=\"https:\/\/www.couchbase.com\/blog\/ko\/validating-your-sync-gateway-documents-with-synctos\/embed\/#?secret=Ww4KcbMHHi\" width=\"600\" height=\"338\" title=\"&#8220;Validating your Sync Gateway documents with synctos&#8221; &#8212; The Couchbase Blog\" data-secret=\"Ww4KcbMHHi\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" class=\"wp-embedded-content\"><\/iframe><script type=\"text\/javascript\">\n\/* <![CDATA[ *\/\n\/*! This file is auto-generated *\/\n!function(d,l){\"use strict\";l.querySelector&&d.addEventListener&&\"undefined\"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!\/[^a-zA-Z0-9]\/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret=\"'+t.secret+'\"]'),o=l.querySelectorAll('blockquote[data-secret=\"'+t.secret+'\"]'),c=new RegExp(\"^https?:$\",\"i\"),i=0;i<o.length;i++)o[i].style.display=\"none\";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute(\"style\"),\"height\"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):\"link\"===t.message&&(r=new URL(s.getAttribute(\"src\")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(d.top.location.href=t.value))}},d.addEventListener(\"message\",d.wp.receiveEmbedMessage,!1),l.addEventListener(\"DOMContentLoaded\",function(){for(var e,t,s=l.querySelectorAll(\"iframe.wp-embedded-content\"),r=0;r<s.length;r++)(t=(e=s[r]).getAttribute(\"data-secret\"))||(t=Math.random().toString(36).substring(2,12),e.src+=\"#?secret=\"+t,e.setAttribute(\"data-secret\",t)),e.contentWindow.postMessage({message:\"ready\",secret:t},\"*\")},!1)))}(window,document);\n\/* ]]> *\/\n<\/script>","thumbnail_url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas-768x269.png","thumbnail_width":600,"thumbnail_height":210,"description":"When building any system with client and server components, it is critical to validate the data that the client tries to store on the server and to ensure that only those who are authorized can view or modify it. Otherwise a malicious client can take advantage of your system to do all sorts of nasty things. That\u2019s why, when we at Kashoo began using Couchbase Mobile and Sync Gateway to synchronize data between multiple mobile devices and our web application, we built our sync functions to perform comprehensive validation of all document properties and the permissions (i.e. channels) that would be required to read, create, replace and delete them."}