შინაარსი, უსაფრთხოება და დიზაინი ატრიბუტები IFRAME- ისთვის
ელემენტი საშუალებას გაძლევთ სხვა ვებ გვერდებს პირდაპირ თქვენს ვებ გვერდზე შეავსოთ. მაგრამ როდესაც გამოყენებით iframes არსებობს უსაფრთხოების და დიზაინის საკითხები, რომლებიც არ იყო სიტყვით HTML 4.01. HTML5 ამ ელემენტს სამი ახალი ატრიბუტი მოაქვს, რათა დაეხმაროს ამ შეშფოთებას:
სავარჯიშო ატრიბუტი
IFRAME- ის ელემენტის სავარჯიშო ატრიბუტი ძალიან სასარგებლო უსაფრთხოების მახასიათებელია iframes. როდესაც ის ჩაწერეთ IFRAME- ის ელემენტში, თქვენ აწვებით მომხმარებელს აგენტს, არ დაუშვებს იმ ფუნქციებს, რომლებიც შესაძლოა გამოიწვიოს უსაფრთხოების რისკი საიტზე და მის მომხმარებლებს.
მაგალითად:
ეუბნება ბრაუზერი ყველა იმ ფუნქციის გაუქმებას, რომელიც შეიძლება იყოს უსაფრთხოების რისკი. კერძოდ, plugins disallowed. ფორმების შეტანა არ შეიძლება. Sscripts არ აწარმოებს და IFRAME- ის გარეთ კავშირები არ არის ნებადართული. დაბოლოს, ქუქი-ფაილების, ადგილობრივი შენახვისა და იმავე დომენზე (წარმოშობის) სხვა გვერდებზე დაშვება შეუძლებელია.
შემდეგ, სავარჯიშო სიტყვების მნიშვნელობის გამოყენებით, შეგიძლიათ ხელახლა ჩართოთ ზოგიერთი ფუნქცია. ეს საკვანძო სიტყვებია:
- ნებართვა-ფორმების ჩამოყალიბება
- იძლევა იგივე წარმოშობის - ყველა სვეტს, რათა შეხვიდეთ შინაარსით, როგორც cookies, იგივე წარმოშობის დომენიდან
- ნებართვა-სკრიპტები - ამ IFRAME- ში გასაშვებად სკრიპტების ჩართვა
- ნებართვა-ზედა ნავიგაცია - IFRAME ბმულები და სკრიპტები _top სამიზნეში
ეს არ არის კარგი იდეა, რომ ორივე ნება-სკრიპტი და დაამატოთ იგივე წარმოშობის სიტყვა ერთად იგივე IFRAME. თუ ამის გაკეთება, ჩადგმული გვერდი შეიძლება შემდეგ მთლიანად ამოიღონ სავარჯიშო ატრიბუტი, უარყოფით ნებისმიერი უსაფრთხოების სარგებელი.
Srcdoc ატრიბუტი
Srcdoc ატრიბუტი არის ატრიბუტი, რომელიც აძლევს ვებ დიზაინერს უფრო მეტ კონტროლს iframes, ისევე როგორც უფრო უსაფრთხო. ვებ-გვერდის სხვა URL- ზე დამაკავშირებელი ნაცვლად, ვებ დიზაინერი ათავსებს HTML, რომელიც არის IFRAME- ში srcdoc ატრიბუტში.
თავდაპირველად, შეიძლება ფიქრობთ, "როგორ არის ეს განსხვავებული, ვიდრე HTML- ის გვერდზე განთავსება?" და გარკვეულწილად, ეს არ არის საშინლად განსხვავებული.
მაგრამ თქვენ უნდა გვახსოვდეს, რომ IFRAME- ის ელემენტის ერთ-ერთი ფუნქციაა, რომელიც რჩება უნებართვო მონაცემების დანარჩენი საიტისგან.
HTML- ის მიერ შექმნილ არასაიმედო წყაროს შექმნით, როგორიცაა ფორმა, IFRAME- ში შეგიძლიათ "სავარჯიშოში" დაუხარისხებელი კონტენტი და გვერდზე გაჩვენოთ. ბლოგი კომენტარები მაგალითია. ყველაზე დღიურები მხოლოდ შეზღუდული რაოდენობით HTML tags commenters შეგიძლიათ გამოიყენოთ მათი კომენტარები. მაგრამ ამ კომენტარები კომენტარით სავარჯიშოში IFRAME- ის გამოყენებით srcdoc ატრიბუტის გამოყენებით, კომენტარები შეიძლება იყოს უფრო მტკიცე, როდესაც მთელი საიტი დაცულია.
უსაფრთხოება და თუფიმები
ზემოთ მოყვანილი ორი ატრიბუტი უზრუნველყოფს თქვენს IFRAME ელემენტების უსაფრთხოებას, მაგრამ ისინი არ არიან მტკიცებულება ყველა მავნე საიტების წინააღმდეგ. თუ მავნე საიტს შეუძლია დაარწმუნოს მომხმარებელი პირდაპირ მტრულ კონტენტზე წვდომისათვის (მაგ. URL- ს მათი ბრაუზერის აკრეფით) ისინი კვლავ თავს დაესხმება.
თუ შესაძლებელია, სავარჯიშოში IFRAME- ის ტექსტის / HTML- სავარჯიშო MIME ტიპის სატკეპტის შესადგენად.
Seamless ატრიბუტი
Seamless ატრიბუტი არის boolean ატრიბუტი, რომელიც ეუბნება ბრაუზერს, რათა ნახოთ IFRAME თითქოს ეს იყო ნაწილი მშობელი დოკუმენტი. თუ გსურთ თქვენი IFRAME- ს ჩაირთოს ჩვენება, უბრალოდ აითვისეთ ეს ატრიბუტი ელემენტში:
მაგრამ IFRAME- ს უცვლელად არის უფრო მეტი, ვიდრე უბრალოდ სახე, ისიც არის, თუ როგორ ხორციელდება გვერდი ჩარჩოში. მაგალითად:
- IFRAME- ში განთავსებული ბმულები გაიხსნება მშობლის ფანჯარაში , თუ IFRAME- ს გვერდზე არ აქვს სამიზნე _SELF კომპლექტი.
- CSS- ის IFRAME- ში შევსება მთელი დოკუმენტის კასკადში.
- IFRAME გვერდის ძირეული ელემენტია IFRAME- ის ბავშვი.
- IFRAME- ის სიგანე და სიმაღლე ჩამოყალიბებულია იმავე სახით, თუ როგორ მოხდება სხვა ბლოკ-დონის ელემენტები .
- როდესაც მშობელი დოკუმენტი იხილავს სიტყვის გაწევის ინსტრუმენტს, როგორც ეკრანის მკითხველი, IFRAME წაიკითხავს ცალკე დოკუმენტის გარეშე.
- ნებისმიერი სკრიპტი მშობლის დოკუმენტზე გავლენას მოახდენს IFRAME- ის დოკუმენტზე. მაგალითად, თუ სცენარი ჩამოთვლილია გვერდზე ყველა ფარგლებში, IFRAME- ის ბმულებიც ჩამოთვლილია.
სხვა სიტყვებით რომ ვთქვათ, seamless ატრიბუტი ბევრად უფრო მეტია, ვიდრე უბრალოდ საზღვრების ამოღება IFRAME- დან. თუ თქვენ აპირებთ შექმნას IFRAME seamless, თქვენ ძალიან დარწმუნებული უნდა იყოს შინაარსი ისე, რომ თქვენ არ დაამატოთ უსაფრთხოების რისკი თქვენი ვებსაიტი მიერ მუქარის საიტი.