ເນື້ອຫາ, ຄວາມປອດໄພແລະຄຸນລັກສະນະການອອກແບບສໍາລັບ IFRAME
ອົງປະກອບດັ່ງກ່າວອະນຸຍາດໃຫ້ທ່ານຕິດຫນ້າເວັບຕ່າງໆໂດຍກົງໃສ່ຫນ້າເວັບຂອງທ່ານ. ແຕ່ເມື່ອ ໃຊ້ iframe ມີບັນຫາດ້ານຄວາມປອດໄພແລະການອອກແບບທີ່ບໍ່ໄດ້ຖືກແກ້ໄຂໃນ HTML 4.01. HTML5 ນໍາເອົາສາມຄຸນລັກສະນະໃຫມ່ໃຫ້ອົງປະກອບນີ້ເພື່ອຊ່ວຍແກ້ໄຂບັນຫາເຫຼົ່ານີ້:
The sandbox Attribute
ຄຸນສົມບັດ sandbox ຂອງອົງປະກອບ IFRAME ແມ່ນຄຸນສົມບັດຄວາມປອດໄພທີ່ມີປະໂຫຍດຫຼາຍຂອງ iframe. ເມື່ອທ່ານວາງມັນຢູ່ໃນອົງປະກອບ IFRAME, ທ່ານກໍາລັງແນະນໍາໃຫ້ຕົວແທນຜູ້ໃຊ້ບໍ່ອະນຸຍາດໃຫ້ມີລັກສະນະທີ່ອາດຈະເຮັດໃຫ້ເກີດຄວາມສ່ຽງດ້ານຄວາມປອດໄພຕໍ່ເວັບໄຊແລະຜູ້ໃຊ້ຂອງມັນ.
ຍົກຕົວຢ່າງ:
ບອກຕົວທ່ອງເວັບທີ່ຈະບໍ່ອະນຸຍາດໃຫ້ຄຸນລັກສະນະທັງຫມົດທີ່ອາດຈະເປັນຄວາມສ່ຽງດ້ານຄວາມປອດໄພ. ໂດຍສະເພາະ, plugins ບໍ່ຖືກອະນຸຍາດ. ບໍ່ສາມາດສົ່ງແບບຟອມໄດ້. Sscripts ຈະບໍ່ດໍາເນີນການແລະການເຊື່ອມຕໍ່ພາຍນອກຂອງ IFRAME ບໍ່ຖືກອະນຸຍາດ. ສຸດທ້າຍ, ການເຂົ້າເຖິງ cookies, ການເກັບຮັກສາໃນທ້ອງຖິ່ນແລະຫນ້າອື່ນໆທີ່ຢູ່ໃນໂດເມນດຽວກັນ (ຕົ້ນກໍາເນີດ) ບໍ່ໄດ້ອະນຸຍາດໃຫ້.
ຫຼັງຈາກນັ້ນ, ການນໍາໃຊ້ຄ່າຄໍາສັ່ງຂອງ sandbox, ທ່ານສາມາດເປີດນໍາໃຊ້ບາງຢ່າງຂອງຄຸນສົມບັດ. ຄໍາເຫຼົ່ານີ້ແມ່ນ:
- ອະນຸຍາດໃຫ້ໃບຄໍາຮ້ອງ - ແບບຟອມທັງຫມົດ
- ອະນຸຍາດໃຫ້ສະຄິບດຽວກັນກັບຕົ້ນສະບັບເພື່ອເຂົ້າເຖິງເນື້ອຫາເຊັ່ນ cookies ຈາກໂດເມນເດີມ
- ສະຫນັບສະຫນູນ scripts - all scripts ທີ່ຈະດໍາເນີນການໃນ IFRAME ນີ້
- allow-top-navigation-all the links IFRAME and scripts to the target _top
ມັນບໍ່ແມ່ນຄວາມຄິດທີ່ດີທີ່ຈະກໍານົດທັງສະຄິບອະນຸຍາດແລະຄໍາອະນຸຍາດດຽວກັນກັບຕົ້ນສະບັບຮ່ວມກັນໃນ IFRAME ດຽວກັນ. ຖ້າທ່ານເຮັດແບບນີ້, ຫນ້າທີ່ຝັງໄວ້ຫຼັງຈາກນັ້ນສາມາດຖອນເອົາຄຸນສົມບັດ sandbox, ລົບອອກຜົນປະໂຫຍດດ້ານຄວາມປອດໄພໃດໆ.
The srcdoc Attribute
ຄຸນສົມບັດ srcdoc ແມ່ນລັກສະນະທີ່ເຮັດໃຫ້ຜູ້ອອກແບບເວັບສາມາດຄວບຄຸມຫຼາຍກວ່າ iframe ແລະຄວາມປອດໄພຫຼາຍຂຶ້ນ. ແທນທີ່ຈະເຊື່ອມໂຍງກັບຫນ້າເວັບທີ່ URL ທີ່ແຕກຕ່າງກັນ, ຜູ້ອອກແບບເວັບຈະຈັດ HTML ທີ່ຈະສະແດງໃນ IFRAME ພາຍໃນຄຸນສົມບັດ srcdoc.
ໃນທໍາອິດ, ທ່ານອາດຈະຄິດວ່າ, "ນີ້ແມ່ນວິທີໃດທີ່ແຕກຕ່າງກັນກ່ວາການໃສ່ HTML ໃນຫນ້າ?" ແລະໃນບາງທາງ, ມັນບໍ່ແຕກຕ່າງກັນຢ່າງຮ້າຍແຮງ.
ແຕ່ທ່ານຕ້ອງຈື່ຈໍາຫນຶ່ງໃນຫນ້າທີ່ຂອງອົງປະກອບ IFRAME ເຊິ່ງແມ່ນເພື່ອຮັກສາຂໍ້ມູນທີ່ບໍ່ໄວ້ວາງໃຈທີ່ແຕກຕ່າງຈາກສ່ວນທີ່ເຫລືອຂອງເວັບໄຊທ໌.
ໂດຍການວາງ HTML ທີ່ຖືກສ້າງຂຶ້ນໂດຍແຫຼ່ງທີ່ບໍ່ເຊື່ອຖືເຊັ່ນແບບຟອມເປັນ IFRAME ທ່ານສາມາດ "sandbox" ເນື້ອຫາທີ່ບໍ່ເຊື່ອຖືແລະຍັງສະແດງຢູ່ໃນຫນ້າ. ຄໍາເຫັນກ່ຽວກັບ blog ແມ່ນຕົວຢ່າງ. blog ສ່ວນໃຫຍ່ມີພຽງແຕ່ຈໍານວນຈໍາກັດຂອງ HTML tags ຄໍາເຫັນສາມາດໃຊ້ໃນຄວາມຄິດເຫັນຂອງເຂົາເຈົ້າ. ແຕ່ໂດຍການວາງຄໍາເຫັນເຫຼົ່ານີ້ຢູ່ໃນ IFRAME ທີ່ຖັງໃສ່ເກີບໂດຍໃຊ້ຄຸນສົມບັດ srcdoc, ຄໍາເຫັນສາມາດມີຄວາມເຂັ້ມແຂງກວ່າໃນຂະນະທີ່ຍັງປົກປ້ອງເວັບໄຊທ໌ທັງຫມົດ.
Security and Iframes
ຄຸນລັກສະນະສອງຂ້າງຂ້າງເທິງສະຫນອງຄວາມປອດໄພສໍາລັບອົງປະກອບ IFRAME ຂອງທ່ານ, ແຕ່ພວກເຂົາບໍ່ແມ່ນຫຼັກຖານທີ່ສະແດງຕໍ່ສະຖານທີ່ທີ່ເປັນອັນຕະລາຍທັງຫມົດ. ຖ້າເວັບໄຊທ໌ທີ່ເປັນອັນຕະລາຍສາມາດໃຫ້ຜູ້ໃຊ້ສາມາດເຂົ້າເຖິງເນື້ອຫາ hostile ໄດ້ໂດຍກົງ (ເຊັ່ນການພິມ URL ໃສ່ browser ຂອງພວກເຂົາ) ພວກເຂົາຍັງສາມາດຖືກໂຈມຕີ.
ຖ້າເປັນໄປໄດ້ມັນກໍ່ດີທີ່ສຸດທີ່ຈະກໍານົດເນື້ອໃນທີ່ຢູ່ໃນ sandboxed IFRAME ເປັນແບບອັກສອນ text / html-sandboxed MIME.
ຄຸນລັກສະນະ seamless
attribute seamless ແມ່ນບັນຫາ boolean ທີ່ບອກໃຫ້ browser ຈະສະແດງ IFRAME ຄືວ່າມັນເປັນສ່ວນຫນຶ່ງຂອງເອກະສານແມ່ບົດ. ຖ້າທ່ານຕ້ອງການ IFRAME ຂອງທ່ານເພື່ອສະແດງຜົນຢ່າງຕໍ່ເນື່ອງ, ພຽງແຕ່ປະກອບມີລັກສະນະນີ້ໃນອົງປະກອບ:
ແຕ່ການເຮັດໃຫ້ IFRAME seamless ແມ່ນຫຼາຍກ່ວາພຽງແຕ່ເບິ່ງ, ມັນກໍ່ແມ່ນວິທີການຫນ້າພົວພັນກັບພາໄດ້. ຍົກຕົວຢ່າງ:
- ການເຊື່ອມຕໍ່ໃນ IFRAME ຈະເປີດຢູ່ໃນ ປ່ອງຢ້ຽມຂອງແມ່ບົດ , ເວັ້ນເສຍແຕ່ວ່າຫນ້າ IFRAME ມີຊຸດ _SELF ເປົ້າຫມາຍ.
- CSS ໃນ IFRAME ຈະຖືກເພີ່ມເຂົ້າໃນ cascade ຂອງເອກະສານທັງຫມົດ.
- ອົງປະກອບຮາກຂອງຫນ້າ IFRAME ແມ່ນຖືວ່າເປັນເດັກຂອງ IFRAME.
- ຄວາມກວ້າງແລະຄວາມສູງຂອງ IFRAME ແມ່ນຕັ້ງຢູ່ໃນຮູບແບບທີ່ຄ້າຍຄືກັນກັບວິທີການກໍານົດ ອົງປະກອບລະດັບຕັນອື່ນໆ .
- ເມື່ອເອກະສານພໍ່ແມ່ໄດ້ຖືກເບິ່ງໂດຍເຄື່ອງມືການສະແດງຄວາມສາມາດເວົ້າເຊັ່ນເຄື່ອງອ່ານຫນ້າຈໍ, IFRAME ຈະໄດ້ຮັບການອ່ານໂດຍບໍ່ໄດ້ບອກມັນເປັນເອກະສານແຍກຕ່າງຫາກ.
- ຫນັງສືໃດໆກ່ຽວກັບເອກະສານພໍ່ແມ່ຈະມີຜົນກະທົບຕໍ່ເອກະສານ IFRAME ໃນລັກສະນະດຽວກັນ. ຕົວຢ່າງເຊັ່ນຖ້າສະຄິບສະແດງຕາຕະລາງທັງຫມົດຢູ່ໃນຫນ້າ, ການເຊື່ອມຕໍ່ໃນ IFRAME ຈະຖືກລະບຸໄວ້ເຊັ່ນດຽວກັນ.
ໃນຄໍາສັບຕ່າງໆອື່ນໆ, ຄຸນລັກສະນະຂອງ seamless ແມ່ນຫຼາຍກ່ວາພຽງແຕ່ເອົາຊາຍແດນອອກຈາກ IFRAME. ຖ້າຫາກວ່າທ່ານກໍາລັງຕັ້ງ IFRAME ໃຫ້ບໍ່ມີການເຊື່ອມຕໍ່, ທ່ານຄວນແນ່ໃຈວ່າເນື້ອຫາດັ່ງນັ້ນທ່ານບໍ່ເພີ່ມຄວາມສ່ຽງດ້ານຄວາມປອດໄພກັບເວັບໄຊທ໌ຂອງທ່ານໂດຍການຕິດຕັ້ງເວັບໄຊທ໌ທີ່ເປັນອັນຕະລາຍ.