สมัครสมาชิกและอ่าน
สิ่งที่น่าสนใจที่สุด
บทความก่อน!

วิธีง่ายๆ ในการขโมยคุกกี้ วิธีง่ายๆ ในการขโมยคุกกี้ วิธีรับรหัสผ่านจากคุกกี้ Yandex

JavaScript ทำให้สามารถตั้งค่าและอ่านคุกกี้ในเบราว์เซอร์ได้ ในบทนี้ เราจะดูวิธีการทำงานกับคุกกี้ และสร้างหน้าง่ายๆ ที่จะจดจำชื่อที่ป้อนและแสดงทุกครั้งที่คุณเข้าสู่ระบบ

คุกกี้คืออะไร?

คุกกี้คือข้อมูลจำนวนเล็กน้อยที่เว็บเบราว์เซอร์จัดเก็บไว้ ช่วยให้คุณสามารถจัดเก็บข้อมูลบางอย่างเกี่ยวกับผู้ใช้และเรียกค้นทุกครั้งที่เขาเยี่ยมชมเพจของคุณ ผู้ใช้แต่ละคนมีชุดคุกกี้เฉพาะของตนเอง

โดยทั่วไป เว็บเซิร์ฟเวอร์จะใช้คุกกี้เพื่อทำหน้าที่ต่างๆ เช่น ติดตามการเยี่ยมชมเว็บไซต์ การลงทะเบียนบนเว็บไซต์ และจัดเก็บข้อมูลเกี่ยวกับคำสั่งซื้อหรือการซื้อ อย่างไรก็ตาม เราไม่จำเป็นต้องประดิษฐ์โปรแกรมเว็บเซิร์ฟเวอร์เพื่อใช้คุกกี้ เราสามารถใช้มันโดยใช้ JavaScript

คุณสมบัติ document.cookie

ใน JavaScript คุกกี้จะถูกเข้าถึงโดยใช้คุณสมบัติคุกกี้ของวัตถุเอกสาร คุณสามารถสร้างคุกกี้ได้ดังนี้:

และรับชุดคุกกี้ที่บันทึกไว้ทั้งหมดดังนี้:

วาร์ x = document.cookie;

มาดูการบันทึกและเรียกค้นคุกกี้โดยละเอียดมากขึ้น

กำลังบันทึกคุกกี้

ในการบันทึกคุกกี้ เราจำเป็นต้องกำหนด document.cookie ให้กับสตริงข้อความที่มีคุณสมบัติของคุกกี้ที่เราต้องการสร้าง:

document.cookie = " name = value; หมดอายุ = วันที่; path = path; โดเมน = โดเมน; ปลอดภัย";

คุณสมบัติอธิบายไว้ในตาราง:

ตัวอย่างคำอธิบายคุณสมบัติ
ชื่อ = ค่า ตั้งชื่อคุกกี้และค่าของมัน ชื่อผู้ใช้=วาสยา
หมดอายุ = วันที่ กำหนดวันหมดอายุสำหรับคุกกี้ วันที่จะต้องอยู่ในรูปแบบที่ส่งคืนโดยเมธอด toGMTString() ของวัตถุ Date หากไม่มีการระบุการหมดอายุ คุกกี้จะถูกลบเมื่อปิดเบราว์เซอร์ หมดอายุ=
13/06/2003 00:00:00
เส้นทาง= เส้นทาง ตัวเลือกนี้จะกำหนดเส้นทางบนไซต์ที่คุกกี้นั้นถูกต้อง เฉพาะเอกสารจากเส้นทางที่ระบุเท่านั้นที่สามารถดึงค่าคุกกี้ได้ โดยปกติแล้วคุณสมบัตินี้จะเว้นว่างไว้ ซึ่งหมายความว่ามีเพียงเอกสารที่ตั้งค่าคุกกี้เท่านั้นที่สามารถเข้าถึงได้ เส้นทาง=/สาธิต/
โดเมน=โดเมน ตัวเลือกนี้จะกำหนดโดเมนที่คุกกี้ทำงาน เฉพาะไซต์จากโดเมนที่ระบุเท่านั้นที่สามารถรับค่าคุกกี้ได้ โดยทั่วไปคุณสมบัตินี้จะเว้นว่างไว้ ซึ่งหมายความว่าเฉพาะโดเมนที่ตั้งค่าคุกกี้เท่านั้นที่สามารถเข้าถึงได้ โดเมน=เว็บไซต์
ปลอดภัย ตัวเลือกนี้บอกให้เบราว์เซอร์ใช้ SSL เพื่อส่งคุกกี้ไปยังเซิร์ฟเวอร์ ไม่ค่อยได้ใช้มาก ปลอดภัย

มาดูตัวอย่างการตั้งค่าคุกกี้:

document.cookie = "ชื่อผู้ใช้=วาสยา; หมดอายุ=02/15/2011 00:00:00";

รหัสนี้จะตั้งค่าคุกกี้ชื่อผู้ใช้และกำหนดค่า "Vasya" ซึ่งจะถูกเก็บไว้จนถึงวันที่ 15 กุมภาพันธ์ 2554 (ใช้รูปแบบเวลายุโรป!)

var cookie_date = วันที่ใหม่ (2003, 01, 15); document.cookie = "ชื่อผู้ใช้=Vasya; หมดอายุ = " + cookie_date.toGMTString();

โค้ดนี้ทำสิ่งเดียวกันกับตัวอย่างก่อนหน้าทุกประการ แต่ใช้เมธอด Date.toGMTString() เพื่อตั้งค่าวันที่ โปรดทราบว่าการนับเดือนในวัตถุ Date เริ่มต้นจาก 0 นั่นคือกุมภาพันธ์คือ 01

Document.cookie = "logged_in=yes";

รหัสนี้ตั้งค่าคุกกี้ logged_in และตั้งค่าเป็น "ใช่" เนื่องจากไม่ได้ตั้งค่าแอตทริบิวต์หมดอายุ คุกกี้จะถูกลบเมื่อปิดเบราว์เซอร์

var cookie_date = วันที่ใหม่ (); // วันที่และเวลาปัจจุบัน cookie_date.setTime (cookie_date.getTime() - 1); document.cookie = "logged_in=; หมดอายุ = " + cookie_date.toGMTString();

รหัสนี้ตั้งค่าคุกกี้ logged_in และตั้งค่าสตริงการจัดเก็บข้อมูลเป็นเวลาหนึ่งวินาทีก่อนเวลาปัจจุบัน - การดำเนินการนี้จะลบคุกกี้ทันที วิธีการลบคุกกี้ด้วยตนเอง!

กำลังบันทึกค่าคุกกี้!

ค่าคุกกี้ควรถูกเข้ารหัสใหม่เพื่อจัดเก็บและแสดงอักขระ เช่น ช่องว่างและโคลอนอย่างถูกต้อง การดำเนินการนี้ช่วยให้แน่ใจว่าเบราว์เซอร์ตีความค่าได้อย่างถูกต้อง การเข้ารหัส Lego ดำเนินการโดยฟังก์ชัน Escape() ของ JavaScript ตัวอย่างเช่น:

document.cookie = "username=" + Escape("Vasya Pupkin") + "; หมดอายุ=02/15/2003 00:00:00"; ฟังก์ชั่นสำหรับการตั้งค่าคุกกี้

การตั้งค่าคุกกี้จะง่ายขึ้นหากเราเขียนฟังก์ชันพิเศษที่จะดำเนินการง่ายๆ เช่น การบันทึกค่าใหม่ และสร้างสตริง document.cookie ตัวอย่างเช่น:

ฟังก์ชัน set_cookie (ชื่อ, ค่า, exp_y, exp_m, exp_d, เส้นทาง, โดเมน, ปลอดภัย) ( var cookie_string = name + "=" + Escape (value); if (exp_y) ( varหมดอายุ = วันที่ใหม่ (exp_y, exp_m, exp_d ); cookie_string += "; หมดอายุ = " +หมดอายุ.toGMTString(); ) if (path) cookie_string += "; path=" + Escape (path); if (โดเมน) cookie_string += "; domain=" + Escape (โดเมน); ถ้า (ปลอดภัย) cookie_string += "; ปลอดภัย"; document.cookie = cookie_string; )

ฟังก์ชันรับข้อมูลคุกกี้เป็นอาร์กิวเมนต์ จากนั้นสร้างสตริงที่เหมาะสมและตั้งค่าคุกกี้

ตัวอย่างเช่น การตั้งค่าคุกกี้โดยไม่มีวันหมดอายุ:

set_cookie("ชื่อผู้ใช้", "วาสยา พัพคิน"); set_cookie ("ชื่อผู้ใช้", "Vasya Pupkin", 2011, 01, 15);

การตั้งค่าคุกกี้ด้วยระยะเวลาการจัดเก็บ โดเมนไซต์ โดยใช้ SSL แต่ไม่มีเส้นทาง:

set_cookie ("ชื่อผู้ใช้", "Vasya Pupkin", 2003, 01, 15, "", "เว็บไซต์", "ปลอดภัย"); ฟังก์ชั่นสำหรับการลบคุกกี้

ฟังก์ชั่นที่มีประโยชน์อีกอย่างหนึ่งสำหรับการทำงานกับคุกกี้แสดงไว้ด้านล่าง ฟังก์ชัน "ลบ" คุกกี้ออกจากเบราว์เซอร์โดยตั้งค่าวันหมดอายุให้เร็วกว่าค่าเวลาปัจจุบันหนึ่งวินาที

ฟังก์ชัน Delete_cookie (cookie_name) ( var cookie_date = new Date (); // วันที่และเวลาปัจจุบัน cookie_date.setTime (cookie_date.getTime() - 1); document.cookie = cookie_name += "=; หมดอายุ = " + cookie_date.toGMTString (); )

หากต้องการใช้ฟังก์ชันนี้ คุณจะต้องส่งผ่านชื่อของคุกกี้ที่จะลบเท่านั้น:

Delete_cookie("ชื่อผู้ใช้");

รับค่าคุกกี้

เพื่อที่จะรับค่าของคุกกี้ที่ตั้งไว้ล่วงหน้าสำหรับเอกสารปัจจุบัน คุณต้องใช้คุณสมบัติ document.cookie:

วาร์ x = document.cookie;

ซึ่งจะส่งคืนสตริงที่ประกอบด้วยรายการคู่ชื่อ/ค่าที่คั่นด้วยเครื่องหมายอัฒภาค ทุกคนคุกกี้ที่ถูกต้องสำหรับเอกสารปัจจุบัน ตัวอย่างเช่น:

"ชื่อผู้ใช้=วาสยา; รหัสผ่าน=abc123"

ในตัวอย่างนี้ มีคุกกี้ 2 ตัวที่ถูกตั้งค่าไว้ล่วงหน้า: ชื่อผู้ใช้ ซึ่งมีค่า “Vasya” และรหัสผ่าน ซึ่งมีค่า “abc123”

ฟังก์ชั่นรับค่าคุกกี้

โดยปกติแล้ว เราต้องการเพียงค่าของคุกกี้ครั้งละหนึ่งรายการเท่านั้น ดังนั้นสตริงคุกกี้จึงไม่สะดวกในการใช้งาน! นี่คือฟังก์ชันที่ประมวลผลสตริง document.cookies โดยส่งคืนเฉพาะคุกกี้ที่สนใจในช่วงเวลาใดเวลาหนึ่ง:

ฟังก์ชั่น get_cookie (cookie_name) ( var results = document.cookie.match ("(^|;) ?" + cookie_name + "=([^;]*)(;|$)"); if (results) return (unescape) (ผลลัพธ์)); มิฉะนั้นส่งคืน null; )

ฟังก์ชันนี้ใช้นิพจน์ทั่วไปเพื่อค้นหาชื่อของคุกกี้ที่สนใจ จากนั้นส่งคืนค่าที่ประมวลผลโดยฟังก์ชัน unescape() เพื่อเข้ารหัสคุกกี้ให้อยู่ในรูปแบบอักขระปกติอีกครั้ง (หากไม่พบคุกกี้ ระบบจะส่งคืนค่าว่าง)

คุณสมบัตินี้ใช้งานง่าย ตัวอย่างเช่น หากต้องการส่งคืนค่าคุกกี้ของชื่อผู้ใช้:

Var x = get_cookie("ชื่อผู้ใช้");

ตัวอย่างการใช้งานแบบง่ายๆ

ในตัวอย่างนี้ เราได้สร้างเพจที่ถามชื่อของคุณในการเข้าชมครั้งแรก จากนั้นจะบันทึกชื่อของคุณในคุกกี้และแสดงในการเข้าชมครั้งต่อไป

เปิดหน้าในหน้าต่างใหม่ ในการเข้าชมครั้งแรก ระบบจะขอให้คุณป้อนชื่อและบันทึกไว้ในคุกกี้ หากคุณเยี่ยมชมเพจอีกครั้ง มันจะแสดงชื่อคุกกี้ที่คุณป้อนบนหน้าจอ

สำหรับคุกกี้ เรากำหนดระยะเวลาการเก็บรักษาเป็น 1 ปีนับจากวันที่ปัจจุบัน ซึ่งหมายความว่าเบราว์เซอร์จะบันทึกชื่อของคุณแม้ว่าคุณจะปิดไปแล้วก็ตาม

คุณสามารถดูโค้ดเพจได้ในเบราว์เซอร์ของคุณโดยเลือกตัวเลือก View Source นี่คือส่วนหลักของโค้ด:

if (! get_cookie ("ชื่อผู้ใช้")) ( var username = prompt ("กรุณากรอกชื่อของคุณ", ""); if (ชื่อผู้ใช้) ( var current_date = new Date; var cookie_year = current_date.getFullYear () + 1; var cookie_month = current_date.getMonth(); var cookie_day = current_date.getDate(); set_cookie("ชื่อผู้ใช้", ชื่อผู้ใช้, cookie_year, cookie_month, cookie_day); ) ) else ( var ชื่อผู้ใช้ = get_cookie("ชื่อผู้ใช้"); document.write ( "สวัสดี " + ชื่อผู้ใช้ + " ยินดีต้อนรับสู่เพจ!"); document.write("
ลืมฉันซะ!"); }

บทเรียนนี้จะแสดงให้คุณเห็นถึงวิธีการใช้คุกกี้ใน JavaScript เพื่อจัดเก็บข้อมูลเกี่ยวกับผู้เยี่ยมชมของคุณ ขอขอบคุณสำหรับความสนใจของคุณ! :)

รูปภาพแสดงว่าคุกกี้มีบรรทัด wordpress_logged_in_263d663a02379b7624b1028a58464038=admin ค่านี้อยู่ในรูปแบบที่ไม่ได้เข้ารหัสในคุกกี้ และสามารถดักจับได้อย่างง่ายดายโดยใช้ยูทิลิตี้ Achilles แต่ในกรณีส่วนใหญ่ใน Achilles คุณจะเห็นเฉพาะแฮชของรายการใดรายการหนึ่งเท่านั้น ก่อนที่จะส่งคำขอไปยังเซิร์ฟเวอร์ คุณสามารถลองแทนที่บรรทัดนี้ด้วยบรรทัดที่คล้ายกัน (แม้ว่าในกรณีนี้จะไม่มีประโยชน์ก็ตาม) - ไม่จำกัดจำนวนครั้ง จากนั้น ด้วยการส่งคำขอนี้ไปยังเซิร์ฟเวอร์โดยใช้ปุ่มส่ง คุณสามารถรับการตอบกลับจากเซิร์ฟเวอร์สำหรับผู้ดูแลระบบได้

ในตัวอย่างก่อนหน้านี้ คุณสามารถใช้การปลอมแปลงรหัสผู้ใช้โดยตรงได้ นอกจากนี้ ชื่อของพารามิเตอร์ที่มีการทดแทนค่าซึ่งให้โอกาสเพิ่มเติมแก่แฮ็กเกอร์ อาจเป็นดังต่อไปนี้: ผู้ใช้ (เช่น USER=JDOE) นิพจน์ใดๆ ที่มีสตริง ID (เช่น USER=JDOE หรือ SESSIONID= BLAHBLAH), ผู้ดูแลระบบ (เช่น ADMIN= TRUE), เซสชัน (เช่น SESSION=ACTIVE), รถเข็น (เช่น CART=FULL) รวมถึงนิพจน์ เช่น TRUE, FALSE, ACTIVE, INACTIVE โดยทั่วไปแล้ว รูปแบบของคุกกี้จะขึ้นอยู่กับแอปพลิเคชันที่ใช้งานเป็นอย่างมาก อย่างไรก็ตาม เคล็ดลับในการค้นหาข้อบกพร่องของแอปพลิเคชันโดยใช้คุกกี้เหล่านี้ใช้ได้กับเกือบทุกรูปแบบ

มาตรการตอบโต้ฝั่งไคลเอ็นต์ต่อการสกัดคุกกี้

โดยทั่วไป ผู้ใช้ควรระวังเว็บไซต์ที่ใช้คุกกี้ในการตรวจสอบสิทธิ์และจัดเก็บข้อมูลที่ละเอียดอ่อน จำเป็นต้องจำไว้ว่าเว็บไซต์ที่ใช้คุกกี้ในการตรวจสอบความถูกต้องจะต้องรองรับโปรโตคอล SSL เป็นอย่างน้อยเพื่อเข้ารหัสชื่อผู้ใช้และรหัสผ่าน เนื่องจากหากไม่มีโปรโตคอลนี้ ข้อมูลจะถูกส่งโดยไม่มีการเข้ารหัส ซึ่งทำให้สามารถสกัดกั้นได้ โดยใช้เครื่องมือซอฟต์แวร์อย่างง่ายเพื่อดูข้อมูลที่ถูกส่งผ่านเครือข่าย

Kookaburra Software ได้พัฒนาเครื่องมือเพื่ออำนวยความสะดวกในการใช้คุกกี้ เครื่องมือนี้เรียกว่า CookiePal (http://www.kburra.com/cpal.html (ดู www.kburra.com)) โปรแกรมนี้ออกแบบมาเพื่อแจ้งเตือนผู้ใช้เมื่อเว็บไซต์พยายามติดตั้งคุกกี้บนเครื่อง และผู้ใช้สามารถอนุญาตหรือปฏิเสธการกระทำนี้ได้ ปัจจุบันฟังก์ชันการบล็อกคุกกี้ที่คล้ายกันมีอยู่ในเบราว์เซอร์ทั้งหมด

อีกเหตุผลหนึ่งในการติดตั้งการอัปเดตเว็บเบราว์เซอร์เป็นประจำก็คือข้อบกพร่องด้านความปลอดภัยในโปรแกรมเหล่านี้ได้รับการระบุอยู่ตลอดเวลา ดังนั้น Bennet Haselton และ Jamie McCarthy ได้สร้างสคริปต์ที่หลังจากคลิกที่ลิงก์แล้ว ก็จะดึงคุกกี้จากเครื่องของลูกค้า เป็นผลให้เนื้อหาทั้งหมดของคุกกี้ที่อยู่ในเครื่องของผู้ใช้พร้อมใช้งาน

การแฮ็กประเภทนี้สามารถทำได้โดยใช้ตัวจัดการที่ฝังอยู่ในข้อความ HTML ของเว็บเพจ (หรือในเนื้อหา HTML ของการโพสต์อีเมลหรือกลุ่มข่าวสาร) เพื่อขโมยคุกกี้ ลองพิจารณาตัวอย่างต่อไปนี้:

เพื่อให้แน่ใจว่าสิ่งเหล่านี้จะไม่คุกคามข้อมูลส่วนบุคคลของเรา ฉันทำเช่นนี้ด้วยตนเองและแนะนำให้ทุกคนอัปเดตซอฟต์แวร์ที่ทำงานกับโค้ด HTML เสมอ (ไคลเอนต์อีเมล เครื่องเล่นสื่อ เบราว์เซอร์ ฯลฯ)

หลายๆ คนชอบที่จะบล็อกคุกกี้เพียงอย่างเดียว แต่เว็บไซต์ส่วนใหญ่ต้องการให้ใช้คุกกี้ในการเรียกดู บทสรุป - หากในอนาคตอันใกล้นี้เทคโนโลยีที่เป็นนวัตกรรมปรากฏขึ้นซึ่งช่วยให้คุณทำได้โดยไม่ต้องใช้คุกกี้ โปรแกรมเมอร์และผู้ดูแลระบบจะถอนหายใจด้วยความโล่งอก แต่ตอนนี้คุกกี้ยังคงเป็นชิ้นอาหารอันโอชะสำหรับแฮ็กเกอร์! นี่เป็นเรื่องจริง เนื่องจากยังไม่มีทางเลือกที่ดีกว่านี้

มาตรการตอบโต้ฝั่งเซิร์ฟเวอร์

ในกรณีของคำแนะนำเพื่อความปลอดภัยของเซิร์ฟเวอร์ ผู้เชี่ยวชาญจะให้คำแนะนำง่ายๆ อย่างหนึ่ง: อย่าใช้กลไกคุกกี้ เว้นแต่จะจำเป็นจริงๆ! ต้องใช้ความระมัดระวังเป็นพิเศษเมื่อใช้คุกกี้ที่ยังคงอยู่ในระบบของผู้ใช้หลังจากสิ้นสุดเซสชันการสื่อสาร

แน่นอนว่าสิ่งสำคัญคือต้องเข้าใจว่าคุกกี้สามารถใช้เพื่อรักษาความปลอดภัยให้กับเว็บเซิร์ฟเวอร์สำหรับการตรวจสอบสิทธิ์ผู้ใช้ หากแอปพลิเคชันของคุณจำเป็นต้องใช้คุกกี้ คุณควรกำหนดค่ากลไกคุกกี้ให้ใช้คีย์อายุสั้นที่แตกต่างกันสำหรับแต่ละเซสชัน และพยายามอย่าใส่ข้อมูลลงในไฟล์เหล่านี้ที่แฮกเกอร์สามารถใช้เพื่อแฮ็กได้ (เช่น ADMIN=TRUE) .

นอกจากนี้ เพื่อให้การใช้คุกกี้ของคุณปลอดภัยยิ่งขึ้น คุณสามารถใช้การเข้ารหัสคุกกี้เพื่อป้องกันข้อมูลที่ละเอียดอ่อนจากการถูกดึงออกมา แน่นอนว่าการเข้ารหัสไม่สามารถแก้ปัญหาด้านความปลอดภัยได้ทั้งหมดเมื่อทำงานกับเทคโนโลยีคุกกี้ แต่วิธีนี้จะป้องกันการแฮ็กขั้นพื้นฐานที่สุดที่อธิบายไว้ข้างต้น

มันอาจจะคุ้มค่าที่จะเริ่มต้นด้วยว่าคุกกี้คืออะไรและจำเป็นสำหรับอะไร คุกกี้คือชิ้นส่วนของข้อมูลที่สามารถจัดเก็บไว้ในฝั่งผู้ใช้และใช้ในภายหลังเพื่อนำแนวคิดของตนไปใช้

ลองจินตนาการว่าเว็บไซต์ของคุณมีโอกาสเลือกโทนสีของเว็บไซต์ สะดวกมากที่จะนำสิ่งนี้ไปใช้กับคุกกี้ เนื่องจากธีมที่เขาเลือกจะมองเห็นได้เฉพาะเขาเท่านั้น

คุกกี้มีอยู่ทั้งใน PHP และ jQuery ดังนั้นเราจะพิจารณาแต่ละกรณีโดยละเอียดยิ่งขึ้น

คำแนะนำโดยละเอียดสำหรับการทำงานกับคุกกี้ใน jQuery

1. การตั้งค่าคุกกี้

ตอนนี้เราสามารถลองสร้างคุกกี้แรกของเราได้:

$.cookie("cookie_name", "cookie_value", ( หมดอายุ: 3, เส้นทาง: "/", โดเมน: "your_site.ru", ปลอดภัย: true ));

อะไรนี่?

“cookie_name” – ชื่อคุกกี้;

“cookie_value” – ค่าคุกกี้;

“หมดอายุ” – จำนวนวันที่คุกกี้จะถูกจัดเก็บ (ในกรณีของเรา – 3 วัน) หลังจากเวลานี้ คุกกี้จะถูกลบโดยอัตโนมัติ

“เส้นทาง” – ความพร้อมใช้งานของคุกกี้บนเว็บไซต์ (ในกรณีของเรา “/” - พร้อมใช้งานทั่วทั้งเว็บไซต์) หากต้องการ คุณสามารถระบุเฉพาะหน้าหรือส่วนที่สามารถใช้คุกกี้ได้ เช่น “/audio/rock”;

“โดเมน” – โดเมนที่คุกกี้ใช้งานได้ หากคุณมีโดเมนย่อย คุณสามารถระบุได้ในพารามิเตอร์นี้ เช่น “โดเมน: “subdomain.your_site.ru”” และในกรณีนี้ คุกกี้จะพร้อมใช้งานบนโดเมน “subdomain.your_site.ru” เท่านั้น

“ ปลอดภัย" – พารามิเตอร์ที่ระบุว่าควรส่งคุกกี้ผ่านโปรโตคอล https ที่ปลอดภัย

ในที่นี้ไม่จำเป็นต้องใช้พารามิเตอร์ทั้งหมด และเพื่อตั้งค่าคุกกี้ โครงสร้างนี้จะเพียงพอ:

$.cookie("cookie_name", "cookie_value", ( หมดอายุ: 3, เส้นทาง: "/" ));

2. การรับคุกกี้

การรับคุกกี้นั้นค่อนข้างง่าย คุณสามารถทำได้โดยใช้โค้ด:

$.cookie("cookie_name");

รหัสนี้สามารถกำหนดให้กับตัวแปรและใช้ตามความต้องการของคุณ:

var content = $.cookie("cookie_name"); if(content != null) ( alert("คุกกี้มีอยู่แล้ว!"); ) else ( alert("ไม่มีคุกกี้!"); )

เห็นด้วยนี่สะดวกมาก

3. การลบคุกกี้

หากต้องการลบค่าคุกกี้ ให้ตั้งค่าเป็น "null":

$.cookie("cookie_name", null);

ฉันคิดว่านี่เป็นจุดสิ้นสุดของการแนะนำการทำงานกับคุกกี้ใน jQuery ความรู้นี้เพียงพอที่จะนำแนวคิดของคุณไปใช้

คำแนะนำโดยละเอียดสำหรับการทำงานกับคุกกี้ใน PHP

ไม่เหมือนกับตัวเลือกก่อนหน้าสำหรับการทำงานกับคุกกี้ คุณไม่จำเป็นต้องเชื่อมต่ออะไรเลยที่นี่

1. การตั้งค่าคุกกี้

เพื่อตั้งค่าคุกกี้ใน PHP เราจะใช้ฟังก์ชัน “setcookie” ในตัว:

อะไรนี่?

“cookie_name” – ชื่อคุกกี้;

“cookie_value” – ค่าคุกกี้;

“time()+3600” – อายุการใช้งานคุกกี้เป็นวินาที (ในกรณีของเรา – 1 ชั่วโมง) หากคุณตั้งค่าอายุการใช้งานเป็น "0" คุกกี้จะถูกลบทันทีที่ปิดเบราว์เซอร์

“/” – ส่วนที่มีคุกกี้ (ในกรณีของเรา สามารถใช้ได้ทั่วทั้งไซต์) หากคุณต้องการจำกัดส่วนที่สามารถใช้คุกกี้ได้ ให้แทนที่ “/” ด้วย เช่น “/audio/rock”;

“your_site.ru” – โดเมนที่คุกกี้จะใช้งานได้

“true” – พารามิเตอร์ที่ระบุว่าคุกกี้สามารถใช้ได้ผ่านโปรโตคอล https ที่ปลอดภัยเท่านั้น มิฉะนั้นค่าจะเป็นเท็จ

“false” – พารามิเตอร์ที่ระบุว่าคุกกี้พร้อมใช้งานในภาษาสคริปต์ มิฉะนั้น – จริง (ใช้ได้ผ่าน http เท่านั้น)

ที่นี่ก็เช่นกัน ไม่จำเป็นต้องใช้พารามิเตอร์ทั้งหมด และในการสร้างคุกกี้ คุณจะต้องมีโครงสร้างต่อไปนี้เท่านั้น:

เพื่อความสะดวก คุณสามารถตั้งค่าคุกกี้ผ่านตัวแปรได้:

2. การรับคุกกี้

ในการรับคุกกี้ คุณต้องใช้:

$_COOKIE["cookie_name"];

เพื่อกำจัดข้อผิดพลาดเนื่องจากคุกกี้ที่อาจหายไป ให้ใช้:

เช่นเดียวกับตัวอย่างก่อนหน้าของการทำงานกับคุกกี้ใน jQuery คุณสามารถกำหนดคุกกี้ให้กับตัวแปรได้:

3. การลบคุกกี้

การลบคุกกี้ใน PHP ทำได้ง่ายเหมือนกับใน jQuery สิ่งที่คุณต้องทำคือตั้งค่าคุกกี้เป็นค่าว่างและเวลาติดลบ (เวลาที่ผ่านไปแล้ว):

Setcookie("cookie_name", "", เวลา() - 3600);

เวลาในตัวอย่างนี้คือหนึ่งชั่วโมงที่ผ่านมา ซึ่งเพียงพอที่จะลบคุกกี้ได้

ฉันต้องการทราบว่าในบางกรณี การใช้คุกกี้มีความสมเหตุสมผลมากกว่าการใช้ฐานข้อมูลเพื่อใช้งานฟังก์ชันที่จำเป็น

สำหรับคำถาม วิธีรับคุกกี้คุกกี้ ฉันต้องการคุกกี้ ฉันจะได้มันมาได้อย่างไร ช่วยบอกฉันที!!! 1 ถามโดย Vlad eeEEeeeeeeeeee คำตอบที่ดีที่สุดคือ คุกกี้คืออะไร?
ความจริงก็คือในกระบวนการพัฒนาเทคโนโลยี www และการแนะนำภาษาการเขียนโปรแกรมบนอินเทอร์เน็ตนักพัฒนาโปรแกรมประสบปัญหาร้ายแรงมาก - จะบันทึกผลลัพธ์ของอัลกอริทึมสำหรับผู้ใช้แต่ละรายเป็นเวลานานได้อย่างไร? โปรโตคอล HTTP เองไม่มีความสามารถในการบันทึกผลลัพธ์ของกระบวนการซอฟต์แวร์ การใช้เซสชันก็ไม่ใช่วิธีแก้ปัญหา เนื่องจากผลกระทบจะสิ้นสุดลงทันทีหลังจากการเชื่อมต่อกับเซิร์ฟเวอร์ขัดข้อง
ปัญหาได้รับการแก้ไขด้วยการใช้กลไกคุกกี้ (ซึ่งแปลจากภาษาอังกฤษว่า "คุกกี้") คุกกี้มีคุณสมบัติที่โดดเด่น โดยจะถูกบันทึกไว้ในฮาร์ดไดรฟ์ของผู้ใช้และสามารถเก็บไว้ที่นั่นได้เกือบไม่จำกัดเวลา
โดยพื้นฐานแล้ว คุกกี้คือไฟล์ข้อความธรรมดาที่จัดเก็บไว้ในไดเร็กทอรีพิเศษที่เบราว์เซอร์ใช้ (โดยปกติแล้วโฟลเดอร์นี้จะเรียกว่าไฟล์อินเทอร์เน็ตชั่วคราว) และคุณสามารถดูได้โดยไปที่ไดเร็กทอรีนี้ (การเข้าถึงอย่างรวดเร็วสำหรับเบราว์เซอร์ IE ทำได้ผ่านเครื่องมือ รายการเมนู -> ตัวเลือกอินเทอร์เน็ต -> ไฟล์อินเทอร์เน็ตชั่วคราว -> การตั้งค่า -> การดู
ค่าคุกกี้บางค่าสามารถจัดเก็บได้เพียงเซสชันเดียวและจะถูกลบเมื่อปิดเบราว์เซอร์ ส่วนอื่นๆ ที่ตั้งค่าไว้ช่วงระยะเวลาหนึ่งจะถูกเขียนลงในไฟล์ โดยทั่วไปไฟล์นี้เรียกว่า "cookies.txt" (แต่อาจมีหลายไฟล์) และอยู่ในไดเร็กทอรีการทำงานของเบราว์เซอร์ที่ติดตั้งบนคอมพิวเตอร์
กล่าวอีกนัยหนึ่ง
คุกกี้คือข้อมูลข้อความชิ้นเล็กๆ ที่เซิร์ฟเวอร์ส่งไปยังเบราว์เซอร์ ตัวคุกกี้เองไม่สามารถทำอะไรได้เลย แต่เมื่อผู้ใช้ติดต่อกับเซิร์ฟเวอร์ (พิมพ์ที่อยู่ในบรรทัดเบราว์เซอร์) เซิร์ฟเวอร์จะสามารถอ่านข้อมูลที่มีอยู่ในคุกกี้ และดำเนินการใดๆ ตามการวิเคราะห์ได้ ตัวอย่างเช่น ในกรณีที่ได้รับอนุญาตในการเข้าถึงบางสิ่งผ่านทางอินเทอร์เน็ต การเข้าสู่ระบบและรหัสผ่านจะถูกจัดเก็บไว้ในคุกกี้ในระหว่างเซสชัน ซึ่งช่วยให้ผู้ใช้ไม่ต้องป้อนข้อมูลเหล่านี้อีกเมื่อร้องขอเอกสารที่มีการป้องกันด้วยรหัสผ่านแต่ละฉบับ
หากคุณกำลังพยายามเข้าถึงบัญชีที่มีการป้องกันด้วยรหัสผ่านของผู้อื่นผ่านหัวข้อนี้ คุณจะต้องค้นหาวิธีจากระยะไกล (โทรจัน) หรือโดยการคัดลอกไปยังแฟลชไดรฟ์อย่างโจ่งแจ้งหากคุณสามารถเข้าถึงคอมพิวเตอร์ที่เหยื่อทำงานอยู่ ให้คัดลอกไฟล์นี้ cookies.txt และแทนที่ในเบราว์เซอร์ของคุณ (อันเดียวกัน) จากนั้นคุณไปที่ไซต์ที่ต้องการซึ่งเป็นที่ตั้งของบัญชีที่คุณสนใจและคุณจะสามารถเข้าถึงได้โดยอัตโนมัติ แต่โปรดจำไว้ว่าหากเหยื่อคลิกออกจากระบบบัญชี (เช่น จากเมล) เมื่อทำงานเสร็จแล้ว ข้อมูลเกี่ยวกับเซสชันจะถูกลบในคุกกี้และคุณจะไม่ได้รับการเข้าถึงใด ๆ
Mozilla Firefox จัดเก็บคุกกี้ไว้ในโปรไฟล์ผู้ใช้ ในไฟล์ C:Documents and SettingsUsernameApplication DataMozillaFirefoxProfilescookies.txt
Internet Explorer บันทึกคุกกี้เหล่านี้เป็นไฟล์ข้อความแยกต่างหากในโฟลเดอร์ C:Documents and Settings UsernameCookies
Opera เก็บคุกกี้ไว้ในไฟล์ C:Documents and SettingsUsernameApplication DataOperaOperaprofilecookies4.dat

เข้าร่วมการสนทนา
อ่านด้วย
Bank of Japan (BoJ) จำนวนธนาคารในญี่ปุ่นในปัจจุบัน
ทฤษฎีการควบคุมตลาด
มหาวิทยาลัยเทคโนโลยีการวิจัยแห่งชาติคาซาน มหาวิทยาลัยวิจัยแห่งชาติคาซาน