قبل از اینکه بلافاصله اظهار نظر کنید "شما نمی توانید به مشتری اعتماد کنید!" ، لطفا کل سؤال را بخوانید.

من اخیراً در مورد چگونگی جلوگیری از حملات XSS می خواندم ، و هرچه پیدا کردم می گوید سرور باید داده هایی را که در صفحه وب قرار داده می شود ، ضدعفونی کند. این اساساً شبیه [ addToDatabase (فیلتر (userResponse)) می باشد. سپس مشتری می تواند با خیال راحت هر آنچه را که از سرور دریافت می کند ، اضافه کند.

من نمی دانم که آیا می توان داده های بالقوه ناایمن را در سرور ذخیره کرد ، و همچنین مشتری را هنگام دریافت مانند فیلتر فیلتر کرد. ] addHTML (فیلتر (serverResponse)) . این امر باعث می شود که داده ها از طرف مشتری اجرا نشوند ، بنابراین هیچ XSS صورت نمی گیرد. من می دانم که هر کسی می تواند این فیلتر را حذف کند ، با این وجود تمام کارهایی که انجام می دهد این است که خود را آسیب پذیر جلوه دهند. از آنجا که سایر سرویس گیرندگان می توانند هر چیزی را که برای آنها ارسال شده است فیلتر کنند ، یک مشتری مخرب فقط می تواند فیلتر خود را غیرفعال کرده و خود را آشفته کند.
(من درمورد پیشگیری از تزریق SQL صحبت نمی کنم ، بدیهی است که باید از سمت سرور باشد)

خلاصه: سرور ضد عفونی نمی شود ، اما مشتریان هر آنچه را که دریافت می کنند ، ضدعفونی می کنند. [19659003] آیا این امن است؟