แนะนำ: วิธีการใช้ ASP เพื่อใช้การดำเนินการบนฐานข้อมูล Oracle ASP (หน้าเซิร์ฟเวอร์ที่ใช้งานอยู่) เป็นหนึ่งในเครื่องมือที่เสนอโดย Microsoft เพื่อพัฒนาแอพพลิเคชั่นอินเทอร์เน็ต การเชื่อมต่อระหว่าง ASP และฐานข้อมูลนั้นทำได้โดยทั่วไปผ่าน ADO (ActiveX Data Object) เช่นเดียวกับ "World World" ในวันที่ 20 มีนาคม 2000 "ใช้ ASP"
เบื้องต้นเกี่ยวกับคุกกี้
ก่อนอื่นเราให้คำแนะนำสั้น ๆ เกี่ยวกับคุกกี้อธิบายวิธีใช้ ASP เพื่อรักษาคุกกี้
คุกกี้เป็นไฟล์ขนาดเล็กที่เก็บไว้ในคอมพิวเตอร์ไคลเอนต์ซึ่งหมายความว่าเมื่อใดก็ตามที่ผู้ใช้เยี่ยมชมเว็บไซต์ของคุณคุณสามารถวางไฟล์ที่มีข้อมูลไว้ในฮาร์ดไดรฟ์ได้อย่างลับๆ ไฟล์นี้สามารถมีข้อมูลเกือบทุกอย่างที่คุณตั้งใจจะตั้งค่ารวมถึงข้อมูลผู้ใช้สถานะไซต์ ฯลฯ ด้วยวิธีนี้มีอันตรายที่อาจเกิดขึ้น: ข้อมูลนี้อาจถูกอ่านโดยแฮ็กเกอร์ เพื่อป้องกันไม่ให้ปัญหานี้เกิดขึ้นวิธีที่มีประสิทธิภาพคือคุกกี้สามารถเข้าถึงได้โดยโดเมนที่สร้างขึ้นเท่านั้น ซึ่งหมายความว่า: ตัวอย่างเช่น ytu.edu.cn สามารถเข้าถึงคุกกี้ที่สร้างโดย ytu.edu.cn เท่านั้น โดยทั่วไปแล้วไม่มีปัญหากับเรื่องนี้ แต่ฉันควรทำอย่างไรถ้าสองไซต์ที่แตกต่างกันในสองโดเมนที่แตกต่างกันจำเป็นต้องแบ่งปันข้อมูลผู้ใช้ที่เก็บไว้ในคุกกี้? แน่นอนคุณสามารถเลือกที่จะคัดลอกข้อมูลผู้ใช้ แต่ถ้าคุณต้องการให้ผู้ใช้ลงทะเบียนในเว็บไซต์เดียวและกลายเป็นผู้ใช้ที่ลงทะเบียนของเว็บไซต์อื่นจากตะวันออก หรือสองไซต์แบ่งปันฐานข้อมูลผู้ใช้และกำหนดให้ผู้ใช้เข้าสู่ระบบโดยอัตโนมัติ? ในเวลานี้การแบ่งปันคุกกี้ข้ามโดเมนเป็นทางออกที่ดีที่สุด
ที่นี่ก่อนอื่นให้ดูที่รหัส ASP บางตัวสำหรับการประมวลผลคุกกี้เพื่อให้สามารถอ้างถึงและอ้างอิงได้ในอนาคต
| ต่อไปนี้เป็นเนื้อหาที่ยกมา: 'สร้างคุกกี้ Response.Cookies (MyCookie) .expires = วันที่ 365 Response.cookies (Mycookle) .domain = mydomaln.com Response.cookies (MyCookle) (ชื่อผู้ใช้) = strusername Response.cookies (MyCookle) (รหัสผ่าน) = strassword |
การอ่านและการเขียนคุกกี้นั้นง่ายมาก รหัสด้านบนสร้างคุกกี้และตั้งค่าแอตทริบิวต์ให้กับคุกกี้: โดเมนเวลาหมดอายุและค่าอื่น ๆ ที่เก็บไว้ในคุกกี้ ที่นี่ strusename และ strpassword เป็นตัวแปรที่ตั้งอยู่ด้านหน้า จากนั้นอ่านในคุกกี้ผ่านคำสั่งต่อไปนี้
| ต่อไปนี้เป็นเนื้อหาที่ยกมา: 'อ่านคุกกี้ datexpdate = request.cookies (MyCookie) stromaln = request.cookies (mycookle) .domain strusername = request.cookies (MyCookle) (ชื่อผู้ใช้) strassword = request.cookies (mycookie) (รหัสผ่าน) |
สำหรับข้อมูลรายละเอียดเพิ่มเติมโปรดดูข้อมูล ASP
ทำให้สำเร็จ
เคล็ดลับในการแบ่งปันคุกกี้คือการเปลี่ยนเส้นทางกระบวนการทั่วไปคือ:
1. ผู้ใช้คลิก sitea.com
2. หากผู้ใช้ไม่มีคุกกี้ Sitea.com ให้เปลี่ยนเส้นทางผู้ใช้ไปยัง SiteB.com
3. หากผู้ใช้มีคุกกี้ SiteB.com ให้เปลี่ยนเส้นทางผู้ใช้กลับไปที่ Sitea.com ด้วยโลโก้พิเศษ (ซึ่งจะอธิบายไว้ด้านล่าง) มิฉะนั้นเปลี่ยนเส้นทางผู้ใช้ไปที่ sitea.com เท่านั้น
4. สร้างคุกกี้ที่ Sitea.com
ดูเหมือนง่าย ๆ มาวิเคราะห์อย่างละเอียด: sitea.com และ siteb.com แบ่งปันการตั้งค่าผู้ใช้เดียวกัน ดังนั้นหากผู้ใช้มีคุกกี้ SiteB.com (ลงทะเบียนแล้ว) Sitea.com ยังสามารถอ่านคุกกี้และให้คุณสมบัติที่ได้รับอนุญาตจากคุกกี้ ด้วยวิธีนี้ผู้ใช้ที่เยี่ยมชม sitea.com เป็นเหมือนการเยี่ยมชม siteb.com
กระบวนการตรวจสอบนี้ควรดำเนินการในคุกกี้รวมอยู่ในไฟล์ใน sitea.com มาดูรหัสนี้กันเถอะ:
| ต่อไปนี้เป็นเนื้อหาที่ยกมา: l - 1 'sitea.com ตรวจสอบคุกกี้ หาก request.QueryString (ตรวจสอบ) <> จริงแล้ว ถ้าไม่ขอ. cookies (sitea_cookie) .haskeys แล้ว 'เปลี่ยนเส้นทางไปยัง siteb.com Response.redlrect (http://www.siteb.com/cookie.asp) สิ้นสุดถ้า สิ้นสุดถ้า |
หากผู้ใช้มีคุกกี้ Sitea.com ไม่จำเป็นต้องทำอะไรเลย คำสั่งแรกถ้าใช้เพื่อกำจัดลูปที่ไม่มีที่สิ้นสุด มาดูไฟล์ Cookie.asp บน SiteB.com เพื่อทำความเข้าใจเพิ่มเติม
หากผู้ใช้ยังไม่มีคุกกี้ใน SiteB.com เขาจะถูกส่งกลับไปที่ Sitea.com และแจ้งให้แอปพลิเคชันทราบว่าคุณได้ตรวจสอบคุกกี้โดยให้พารามิเตอร์ที่เรียกว่า Checkd ในคำสั่ง Query มิฉะนั้นส่งผู้ใช้กลับไปที่ siteb.com และออกจากลูป
อย่างไรก็ตามหากผู้ใช้มีคุกกี้สำหรับ siteb.com เราต้องส่งผู้ใช้กลับไปที่ sitea.com และบอก sitea.com ในการทำเช่นนี้เราจะแนบธงที่ไม่ซ้ำกับฐานข้อมูลชื่อผู้ใช้ ดังนั้นเราจึงขยายรหัสใน Sitea.com
| ต่อไปนี้เป็นเนื้อหาที่ยกมา: l-3 'sitea.com - - 'ตรวจสอบป้าย หาก request.QueryString (ตัวระบุ) <> แล้ว struserName = request.QueryString (ตัวระบุ) 'บันทึกลงในฐานข้อมูล Response.cookies (sitea_cookie) .expires = วันที่ 365 Response.cookies (sitea_cookie) .domain = sitea.com Response.cookies (sitea_cookie) (ชื่อผู้ใช้) = strusername สิ้นสุดถ้า |
แบ่งปัน: การวิเคราะห์สั้น ๆ ของคลาสดีบั๊กใน ASP-VBScript ฉันไม่รู้ว่าเพื่อนที่เขียนรหัสใน ASP มีความรู้สึกเหมือนกับฉันหรือไม่ สิ่งที่ลำบากที่สุดใน ASP คือไม่สะดวกในการดีบักโปรแกรม ฉันคิดว่าเพื่อนหลายคนอาจใช้วิธีนี้ "ตอบสนองเขียน" แล้วส่งออกข้อความที่เกี่ยวข้องเพื่อดูว่าเป็นหรือไม่
2 หน้ารวมหน้าก่อนหน้า 12 หน้าถัดไป