PDA

View Full Version : سوال: encode و decode کردن داده های ورودی



emad_67
یک شنبه 06 بهمن 1387, 12:43 عصر
سلام
برای جلوگیری از XSS گفته میشه که باید تمام داده های ورودی encode و بعد تو دیتابیس ذخیره بشن. حالا برای اینکه مجددا اون داده ها رو به کاربر نشون بدیم باید decode کنیم اونا رو؟
فرض کنید از ادیتور داده ها رو encode و ذخیره کردیم، حالا اگر decode کنیم اونا رو و به کاربر نشون بدیم که انگار هیچ کاری نکردیم چون اگر اسکریپتی هم در ورودی باشه دوباره بعد از decode اجرا میشه، اگر decode نکنیم هم که تمام کد html نشون داده میشه. باید چیکار کرد که مثلا style مطالب حفظ بشه(مثل فونت و bold و ...) ولی فرضا اگه کسی یه تگ script هم نوشت اونو اجرا نکنه و خودشو به کاربر نشون بده؛ مثل همین سایت.

با تشکر

Behrouz_Rad
یک شنبه 06 بهمن 1387, 12:56 عصر
این سوالیه که زیاد پرسیده میشه.
یک لیست مجاز از تگ ها ایجاد کن و فقط اونها رو Decode کن.

موفق باشید.

Ahoora_Mazda
یک شنبه 06 بهمن 1387, 13:14 عصر
آقای مدیر این لیست را چگونه نگه داری کنیم ؟ در فایل xml ؟ البته منظورم بهترین مکان برای نگهداری آن است

Behrouz_Rad
یک شنبه 06 بهمن 1387, 13:41 عصر
در کد برنامه!

Silverboy
پنج شنبه 29 بهمن 1388, 21:28 عصر
همه چیز رو گفتین الا این که چطور این لیست رو به متد های encode و decode بدیم !

بر فرض این لیست ساخته شد چطور به متد encode بگیم که این تگ ها رو encode نکنه !

Silverboy
جمعه 30 بهمن 1388, 13:47 عصر
فکر کنم من از ویزایش قدیمی استفاده میکردم که whitelist نداشت