Page 627 - Nodejs 교과서 개정2판
P. 627

$	npm	i	csurf




         944ח ঈ੄੸ੋ ࢎਊ੗о ࢎ੉౟ী झ௼݀౟ܳ ࢗੑೞח ҕѺੑפ׮  ঈࢿ ࢎਊ੗о ѱदӖ੉ա ؆Ӗ ١ਸ স۽
         ٘ೡ ٸ ੗߄झ௼݀౟о ನೣػ కӒܳ ৢܻݶ  ա઺ী ׮ܲ ࢎਊ੗о Ӓ ѱदӖ੉ա ؆Ӗਸ ࠅ ٸ Ӓ झ௼݀౟

         о प೯غযࢲ ৘ӝ஖ ޅೠ ز੘ਸ ೞѱ ؾפ׮

         ٮۄࢲ ࢲߡীࢲח ࢎਊ੗о ѱदӖਸ স۽٘ೡ ٸ झ௼݀౟о ನೣغয ੓ח૑ Ѩࢎ೧ࢲ  ઓ੤ೠ׮ݶ ઁѢ೧ঠ

         ೤פ׮  ׮݅  ҕѺࢿ झ௼݀౟ ਬഋ੉ ݆ਵ޲۽ ۄ੉࠳۞ܻ੄ ب਑ਸ ߉ח Ѫ੉ જणפ׮

         ࢎਊߨ਷ рױ೤פ׮




           const	sanitizeHtml	=	require('sanitize-html');


           const	html	=	"<script>location.href	=	'https://gilbut.co.kr'</script>";
           console.log(sanitizeHtml(html));	//	''




         ࢎਊ੗о স۽٘ೠ )5.-ਸ sanitize-html ೣࣻ۽ хऱݶ ೲਊೞ૑ ঋח కӒա झ௼݀౟ח ઁѢؾפ׮  ف

         ߣ૩ ੋࣻ۽ ೲਊೡ ࠗ࠙ী ؀ೠ ২࣌ਸ ֍ਸ ࣻ ੓חؘ  ২࣌ ݾ۾਷ ҕध ޙࢲܳ ଵҊೞݶ ؾפ׮

         $43'ח ࢎਊ੗о ੄ب஖ ঋѱ ҕѺ੗о ੄بೠ ೯زਸ ೞѱ ݅٘ח ҕѺੑפ׮  ৘ܳ ٜয ౠ੿ ಕ੉૑ী ߑޙ
         ೡ ٸ ੷੺۽ ۽ӒইਓغѢա  ѱदӖ੉ ॄ૑ח അ࢚ਸ ਬبೡ ࣻ ੓णפ׮  ब૑য ਷೯җ э਷ ࢎ੉౟ীࢲח

         ׮ܲ ࢎۈীѱ ࣠Әೞח ೯زਸ ֍ח ١ ࢚ടী ٮۄ ௼ѱ ঈਊؼ ࣻ ੓ח ҕѺੑפ׮

         ੉ ҕѺਸ ݄ਵ۰ݶ ղо ೠ ೯ز੉ ղо ೠ Ѫ੉ ݏ׮ח ੼ਸ ੋૐ೧ঠ ೤פ׮  ੉ٸ $43' ష௾੉ ࢎਊغҊ  DT

         VSG ಁః૑ח ੉ ష௾ਸ औѱ ߊәೞѢա Ѩૐೡ ࣻ ੓ب۾ ذणפ׮

         ইې ௏٘ח ҕध ޙࢲীࢲ ߊ஀ೠ ৘ઁੑפ׮  GET /form ۄ਋ఠח formਸ ۪؊݂ೞח ۄ਋ఠ੉Ҋ  POST /form

         ۄ਋ఠח formীࢲ ࠁմ ؘ੉ఠܳ ୊ܻೞח ۄ਋ఠੑפ׮




           const	csrf	=	require('csurf');
           const	csrfProtection	=	csrf({	cookie:	true	});


           app.get('/form',	csrfProtection,	(req,	res)	=>	{
           		res.render('csrf',	{	csrfToken:	req.csrfToken()	});
           });


           app.post('/form',	csrfProtection,	(req,	res)	=>	{
           		res.send('ok');
           });
   622   623   624   625   626   627   628   629   630   631   632