Ma'lumotlar bazasida kodni HTML-da saqlash

Codeigniter bilan CMS yarataman va html-ga o'ralgan ba'zi matnlarni saqlash kerak. Ma'lumotlar bazasidan ma'lumotlarni olaman va uni sahifaga ko'chiraman. Buning xavfsizligini inobatga olishning eng yaxshi usuli qanday?

Ma'lumotlar misoli:

A fresh approach

Whether you have queries regarding your

cgoto page
2

2 javoblar

Apply a XSS filter before saving (better, because you'll save once and echo several times) or on output and assign the content to a variable passed to the view. You may use $this->security->xss_clean($data_retrieved).

3
qo'shib qo'ydi

Sanitization is always necessary.

I'm a particular fan of using white lists for HTML tags so you analyze the data you're about to store and simply wipe out the HTML tags that are not in that white list. This way, if you desire, you can prevent users from inserting certain tags like <script> or with unpredictable or obscure behavior.

CMS foydalanuvchilaringizdan biri juda soxta parol va kimdir foydalanadi deb taxmin qilinsin   Boshqacha qilib aytganda, ilovadan foydalanish huquqini qo'lga kiritadi. HTML mazmunini filtrlash bo'lardi   nopoklarni zararli o'zaro faoliyat domen javascriptini kiritishiga yo'l qo'ymaslik   klaviatura voqealarini to'plash uchun (bu parolni mumkin   login shakllari) va boshqalar.

Bundan tashqari, har qanday bekor HTML sizning veb-saytingizni tuzatishga zarar etkazadigan va hatto ba'zi brauzerlarda ko'rsatuvlaringizni buzayotgan bo'lsa ham, siz saqlamoqchi bo'lgan HTMLni tasdiqlash har doim yaxshi.

Ma'lumotlar bazasida narsalarni saqlashdan avval bu tekshiruvlarni bajarish etarli bo'lmasligi mumkin, chunki ma'lumotlar to'g'ridan-to'g'ri ma'lumotlar bazasiga kirish orqali buzilgan bo'lishi mumkin, shuning uchun tarkibni aks ettirishdan oldin @RodrigoFerreira nima qilganini aytib bering.

1
qo'shib qo'ydi
Yondashuvgacha va undan keyingi filtr hali ham eng xavfsiz, u faqat o'z ehtiyojlariga mos keladigan ishlash muvozanatini topishi kerak:] Men to'g'ridan-to'g'ri ma'lumotlar bazasini buzish haqida gapirmaganman , har qanday sabablarga ko'ra ma'lumotlar bazasiga zid bo'lganligi to'g'ridan-to'g'ri ma'lumotlar bazasini manipulyatsiya qilish (ayyor parvarish skriptlarini ishlaydigan aqldan DBAlar, shu jumladan, lol bo'ladi).
qo'shib qo'ydi muallif marcio, manba
To'g'ri. Ammo agar tajovuzkor allaqachon ma'lumotlar bazasiga to'g'ridan-to'g'ri kirishga ega bo'lsa, chiqimdagi tarkibni filtrlash eng kichik muammo bo'ladi ...;) odatda chiqdimda htmlentities filterini qo'llayman (shuning uchun xam HTML ma'lumotlarini ma'lum shartlar ostida bu holda) va xss filtrini ma'lumotlar bazasiga saqlashdan oldin (ishlash uchun eng yaxshi yondashuv, bir xil ma'lumotni filtrlash o'rniga har bir so'rovni qayta-qayta).
qo'shib qo'ydi muallif Rodrigo Ferreira, manba
PhP |BotsUz
PhP |BotsUz
93 ishtirokchilar

Phpni o'rganishni Hohlasangiz https://t.me/joinchat/AAAAAE-KRc5dd5tPMmGmWA A'zo bo'lin