วันอาทิตย์ที่ 12 กรกฎาคม พ.ศ. 2552

RSS คืออะไร

RSS ย่อมาจากคำว่า Really Simple Syndication หรือ Rich Site Summary เป็นรูปแบบในการนำเสนอข่าวหรือบทความ ให้อยู่ในรูปแบบมาตราฐาน xml เพื่อให้ผู้ที่สนใจสามารถติดตามข่าวสารใหม่ๆได้ทันที

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

RSS ย่อมาจาก “Really Simple Syndication” ซึ่งอาจแปลเป็นไทยได้ว่า “การกระจายข่าวสารอย่างง่ายๆ” ซึ่ง RSS มีวิธีการกระจายข่าวสารโดยกำหนดให้ผู้ที่ต้องการจะกระจายข่าวสารทำการสร้าง RSS Feed ซึ่งเป็นไฟล์ที่อยู่ในรูปแบบของ XML ขึ้นมาไว้บนเซิร์ฟเวอร์ และนำลิงค์ของไฟล์นั้นแจกจ่ายให้กับผู้ที่ต้องการติดตามข่าวสารจากผู้กระจายข่าวสาร ขั้นตอนถัดมาผู้ที่ต้องการจะติดตามข่าวสารจะต้องทำการสมัครหรือลงทะเบียนกับ RSS Feed นั้นๆ โดยใช้ RSS Reader ซึ่ง RSS Reader นี้จะเป็นตัวดึงข่าวสารจากต้นทางหรือผู้กระจายข่าวสารแล้วส่งไปยังปลายทางหรือผู้ติดตามข่าวสารเป็นระยะๆ โดยที่ผู้ติดตามข่าวสารไม่จำเป็นจะต้องทำการตรวจสอบจากหน้าเว็บไซต์ด้วยตนเองเพียงเพื่อต้องการจะทราบว่ามีข้อมูลใหม่ๆหรือข่าวสารใหม่ๆหรือไม่

ความเป็นมาของ RSS เริ่มจากการสร้างศูนย์กลางเว็บไซต์ของหัวข้อข่าวจากหลายๆแหล่งมารวมไว้ด้วยกัน โดยการคิดค้นของอดีตบริษัท Browser อันดับหนึ่งคือ Netscape ซึ่งเวอร์ชันแรกคือ 0.9 ที่ออกโดย Guha ในปี 2542 จากนั้น Libby ก็ได้ออกเวอร์ชัน 0.91 ออกมาในปีเดียวกันก่อนที่บริษัท Netscape จะหยุดการพัฒนา โดยหลังจากที่ Netscape ได้ถอนตัวออกไปก็ได้มีกลุ่ม RSS-DEV Working Group และ Winer จาก Userland เข้ามาสานต่อ ซึ่ง RSS-DEV Working Group ได้ออกเวอร์ชัน 1.0 ออกมาในปี 2543 ประจวบกับ Winer จาก Userland ที่ออกเวอร์ชัน 0.92 ออกมาในเวลาเดียวกัน จนกระทั่งถึงเวอร์ชัน 2.0 ที่ออกโดย Winer ในปี 2545 ซึ่งกำลังได้รับความนิยมในปัจจุบัน

เวอร์ชัน ออกโดย เดือนปีที่ออก
0.9 Guha / Netscape มี.ค. 2542
0.91 Libby / Netscape ก.ค. 2542
1.0 RSS-DEV Working Group ธ.ค. 2543
0.92 Winer / Userland ธ.ค. 2543
2.0 Winer / Userland ก.ย. 2545

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

ตัวอย่างของประโยชน์ที่ได้รับจากการใช้ RSS Feed คือ

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

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

* ผู้รับข่าวไม่จำเป็นต้องเปิดเผยอีเมลแอดเดรสของตนเมื่อเขาลงทะเบียนรับข่าวสารกับ Feed ดังนั้นเขาจึงไม่เสี่ยงกับการที่จะได้รับสิ่งไม่พึงประสงค์ที่อาจจะมากับอีเมล เช่น spam หรือไวรัส เป็นต้น

* เผยแพร่ได้ง่าย ผู้ที่ต้องการรับทราบข่าวสารเพียงแค่ลงทะเบียนรับทราบข่าวสารกับ Feed ที่ผู้เผยแพร่ได้จัดไว้ให้ ผู้เผยแพร่จึงไม่จำเป็นที่จะต้องเก็บข้อมูลเกี่ยวกับผู้ลงทะเบียนลงไปไว้ในฐานข้อมูล

ที่มาของข้อมูล : http://www.rss.in.th/2007/07/22/what-is-rss/#more-3

อ่านต่อ...

วันเสาร์ที่ 11 กรกฎาคม พ.ศ. 2552

Web 2.0 to Web 3.0

The Inevitable Presentation Transition
I come to praise Web 2.0 - "All hail Web 2.0 - long live Web 3.0". This declaration is not exactly what harried CIO, IT Staff and developers necessarily wanted to hear. But just as consolidation is roaring through both the hardware and software vendors, the same impetus is driving Web 2.0 and presentation technologies towards a new Web 3.0 Presentation paradigm. Web 2.0 RIA is transitioning to Web 3.0 RAIA - Rich Anywhere Interface Applications. The fundamental shift is to one basic codebase for Desktop, Web browsewr, kiosk, mobile, or any interface device. Online or Offline operation with resynching capability is the second driver of Web 3.0 capable apps.


Web 2.0 and its associated DHTML-Dynamic HTML, AJAX-Asynchronous JavaScript And XML and SaaS-Software as a Service have proven to be successes in the IT community. These interrelated technologies are garnering acceptance for 3 critical reasons:
1)DHTML has proven that the Web GUI experience can be as functional and maybe even more rich than desktop apps. For example, Cognos has developed Web-based GUI report designers that are as adept as their desktop counterparts but add media and co-operative capabilities hard to duplicate on the desktop alone.
2)AJAX in turn has proven that the Web can be much more responsive than first generation Web pages. AJAX also has the advantage of addressing data in the cloud as a starting point rather than as an add-on feature in case of the desktop.
3)SaaS has shown that there are situations where the simplicity of having an application completely administered and served from the Web has very attractive operational and administrative efficiencies. The trick with SaaS is to allow the user to configure their SaaS apps with wizards and templates or to go deeper and customize with snippets or open, standard coding (think Apex as at SalesForce.com). The latter step is aided by a wide array of 3rd party apps and components - sort of like Photoshop's plugins or script extensions or like the old VB plugins/components.

Now the critical feature of Web 2.0 is how the technologies dovetail. SaaS rides on both DHTML and AJAX. AJAX thrives on DHTML but also another technology that is preferential to the cloud - Java, Flash or SOAP based Web Services which allow connections to not just databases but also messaging services and most importantly to legacy applications. So with all these virtues what's not to like about Web 2.0 ?

Web 2.0 is a Transition Technology
Web 2.0 is really a transition technology - its the means of getting from here, desktop dominated client-server, to any device, any information at your fingertips - Web 3.0 GUI technology. The problem with the current presentation layer and its GUI interfaces (including Web 2.0) is that it is broken down into silos of device dependent code as bad as the mutually incompatible databases and data storage software technologies. Web 2.0 code for a browser does not work offline on the desktop or many other interface devices.

The result is that after more than 20 years of client server technology, IT is still churning out silo apps - apps that can run on only one device or one operating system or one primary database or all of the above. Integrating systems and interoperability inevitably means building new, expensive and time-consuming staging and exchange layers that make operations and maintenance ever more problematic.

Yet Web 2.0 has proven that the Web GUI can be as rich as the desktop but with two important downsides. First, the GUI software that runs in a Web GUI, say a text editor on the Web, is completely different from the code that runs the desktop version. Ditto for moving that app from the Web to a mobile phone and often an embedded device or screen. The result is 3 or 4 very different sets of code which must be maintained for essentially the same GUI program. And on the desktop the GUI code is even in worse shape, a smorgasbord of mutually incompatible GUI frameworks be they Windows XAML or Windows COM or Apple Aqua or Linux X. As you might imagine, keeping these various GUIs in synch is Mission Impossible while maintaining them is Mission Improbably Expensive.

The second problem is the fractious nature of GUI software. Despite having nearly identically the same GUI components, the underlying implementation frameworks are quite different. Look at such standard components as label, text field, treeview, combo box, data grid and other components - they are functionally and in basic form quite similar. Yet GUI software suffers from an excess of different design patterns and coding frameworks to implement these components. True, some GUI implementations that are based on XUL, XAML, and MXML respectively - are getting closer in concept and design. Even in the case of Web 2.0 which uses one language, JavaScript primarily, there are at least 3 dozen major, competing GUI and AJAX frameworks vying for developers use. Compatibility and interoperability of these frameworks - you guessed it, can be very low.

To add to the difficulties, Web 2.0's JavaScript/DHTML has 4 serious problem of its own. First, there are some security vulnerabilities both in JavaScript's basic syntax and runtime processing such that for today's predominantly criminal hackers, JavaScript presents some very exploitable vulnerabilities. Second, JavaScript is a 3rd tier scripting language. That means it gives away a 3-8 times runtime performance advantage to dynamically compiled languages like C# and Java.

Third, JavaScript is in the process of moving from a loosely typed language with a simple object model (JavaScript 1.4 or 1.5) to a strongly typed and more rigorous object model (JavaSCript 2.0=ECMAScript 4). This will be a serious change-over/migration problem for all Web apps and developers. Fourth and finally, DHTML (JavaScript+CSS+DOM) implementations in the 4 most popular browsers vary significantly. The bug in the DHTML soup is Microsoft's IE where a)Redmond still has not implemented 1997 W3C CSS, JavaScript, HTML and DOM standards; b)has not started to deprecate and eliminate proprietary extensions to those standards; and c)has not yet decided how to approach new Web standards and technology - either a)block and thwart them like it did from 1999 to 2006 with no functional updates to IE (or other Microsoft Web oriented programs) or b)support selective ones on a quid pro quo basis or whatever. Unfortunately, with Microsoft still holding 60-70% browser market share, Web standards makers and developers have to dance with the devil. But with Web 3.0, maybe no more.

Lets give Web 2.0's DHTML+AJAX credit where credit is due. AJAX+DHTML has been able to consolidate the back and forth torpid confusion that had been the initial rush of CGI, ASP,PHP, JSP, and now Faces in various contorted forms. Yet DHTML+AJAX co-exists with ASP, PHP, J2EE, and other Web 1.0 server-side languages especially server-side mashups and supporting operations. But that is part of the problem. When users try to move from their Web session offline or to another OS server or to a mobile or embedded device - its no dice. Web 3.0 is all about taking the extra step in GUI and presentation - WORAG- Write Once Run Anywhere GUIs. And if you scoff and say mission impossible consider that 3 vendors have already started to deliver various shades of that functionality and coding- Adobe with Flash/Flex/AIR, Microsoft with Silverlight and Sun with Java+JavaFx.



Web 3.0 = RAIA = WORAG
The next generation of GUI frameworks will consolidate again and allow RAIA - Rich Anywhere Interface Apps or equivalently WORAG-Write Once Run Anywhere GUIs. Now a few readers will sputter and say Write Once Run Everywhere, the motto for Java has proved to be a myth.

I would beg to differ, Java and its clone, C#, have proven to be spectacularly successful at delivering WORE-Write Once Run Everywhere software as users of SQL Developer, RazorSQL, and hundred of other Java apps can testify to. And why else is Microsoft continuing to court co-operative links with Novell? Novell's Mono is C# partially ported to Linux and when Microsoft throws in the towel and invades the Linux world, Novell will be bought among other things to get a top notch Linux distro and to use Mono/C# as its leading edge app porting tool.

Meanwhile Java already has the nifty capability to quickly turn Java Applets that run in any browser to desktop apps. And Java Swing classes can run in J2ME opening up a world of desktop GUI apps to mobile and embedded usage. Sun's Java is already capable of delivering WORAG to some platforms with some constraints - most notably bringing any device, same codebase to the Web. Supposedly, JavaFX is the missing link - but I am dubious and am inclined to Capitalize it as Missing the Links.

But you can see my drift here. The ability to deliver GUI development tools that can run in a browser or on the desktop or in the browser in offline mode or on a mobile phone - all the same code. This is not just attractive but also being delivered by two additional vendors - Adobe and Microsoft. So some major players are already in on Web 3.0 software. In addition companies like Nexaweb, Tibco, OpenLaszlo, and Google are starting to deliver blend solutions built on contingent clients (Flash or JavaScript for the Web browser, Java or Flash for desktop, WAP or Java or FlashLite for mobiles and kiosks/emmbeddeds, etc). But the vendors stay in the same code base by generating the target client code from a single major language (okay some do this) and programming framework and then handling all the deployment and runtime details. Not quite Web 3.0, but getting a lot closer to offline and online, any device with one code base.

As the Internet Cloud and Web Services become more important to data processing, having a uniform GUI that is able to deliver that processed info anywhere and with rich media like video, animations, and robust windowing just continues to rise in impact and import. Organizations will not be able to afford even the Web 2.0 DHTML+AJAX solutions because of a)the fragmented nature of AJAX libraries and b)the inability to port DHTML+AJAX to desktops, mobiles, and offline applications in simple ways. Being able to run the same GUI app anywhere is going to be awfully compelling - and hence Microsoft's entry into the fray with SilverLight.

But lets look at the 4 problems that DHTML+JavaScript have - and see how well WORAG meets those contingencies: 1)JavaScript's security vulnerabilities are vastly improved with 2 of 3 RAIA technologies because the Adobe AVM and the Java JVM both have impressive sandlot security. Silverlight also has a secure VM but also allows ASP.NET plugins and components which in turn may allow for ActiveX ...
2)All 3 RAIA VM runtimes use dynamically compiled engines capable of running 3-8 times faster than AJAX+JavaScript routines.
3)Sun's Java is the most steady and proven of the 3 RAIA coding languages although its JavaFX component is quite new. Adobe's Flash/Flex/Air has some older Flash/ActionScript technology; but essentially the move to MXML+ActionScript 3 (very close in syntax to JavaScript 2.0) makes it as new as SilverLight's XAML+ .NET VM. The difference here is that all 3 RAIA technologies are clearly moving forward with robust OO languages. JavaScript is used in almost all browsers, but it has not yet made the tough jump to the more robust JavaScript 2.0.
4)Microsoft does not have a corner on the market in RAIA technology or initial acceptance. Rather both Adobe and Java lead here. More tellingly, Redmond's definition of "run anywhere" is currently SilverLight's major flaw. It includes only Vista and XP and MacOS as operating systems it will run on. Silverlight also supports only IE, Firefox, and Safari (but not Windows Safari). Also Silverlight, as always, connects and runs best in Windows only.



So clearly the RAIA technologies can deliver cross platform GUIs that have already have:
1)State of the art GUI components and controls;
2)Rich media delivery including graphics, animations, and video;
3)Ability to run standalone on the desktop or mobile and embedded apps. Or to run in a browser(or another app/portal)either online or offline;
4)Do all this while using the same coding throughout;
5)But allow for configuration and customization by the user to fit the specific device and its screen real estate and runtime capabilities.

Currently the race is on to fully develop and efficiently deliver these capabilities. Adobe with Flash/Flex/AIR currently leads the RAIA parade because both its Flash and AIR players can run locally on many different OS (Windows of all ilk, Mac, Linux, Solaris, and some other Unix varieties), run in most browsers, and run in a few but a growing number of mobile phones and environs. Also Adobe is the leader in compressing and moving efficiently all sorts of graphic objects, animations, and video. And finally its underlying Flash technology has wide acceptance on the Web and among Web developers.

Sun's Java is in second position by virtue of the fact that its engine is probably the most secure, the fastest, and already does Applet to desktop app movement. In addition, Sun and Java have real solid experience in delivering the JVM runtime to just about every OS and device known to the IT community. Silverlight has impressive specs but it may be terminally flawed with its "runs best in Windows" proclivities.




Summary
RAIA- Run Anywhere Interface Apps are the core of Web 3.0. The ability to run the same app yet customize it for mobile tablet, desktop online and offline will be at the core of Web 3.0. Not just one code base for developers; but also the user gets one Word Processor app or SpreadChart app that runs anywhere - with the user able to configure just what services and look it will offer on each device.

Now others will argue that Web 3.0 is really all about bandwidth - and the move from DSL 300KB/sec to WiMAX and 8MB/sec. But see the cautionary note here. Still others say Web 3.0 goes well beyond RAIA and say Web and other applications must have a more robust PAMP - Program Adaptation-Maintenance Profile. Programs that PAMP-er their users provide a much wider base for using, maintaining and customizing themselves:
1)XML or other configuration files for setup/preferences including GUI workspaces(think Eclipse perspectives)and runtime connections;
2)user styling and customizations with templates, skins and plug-in extensions (think Firefox);
3) macro and scripting capability to batch repetitive tasks, collaborate with a wide range of fellow users, and make connections to a wider range of sources and reports among other tasks - in short, simple programmability for user extensions to their programs(think Photoshop Actions and scripting);
4)An exception/error handling system that links to local help desk and/or to the system provider with detailed error reports and means to provide what to do feedback;(think you know a good one then please let me know).
5)Offline and/or restricted mode operation for responding to and/or diagnosing outages, security breeches or other major program contingencies(think many applications and database servers)

Obviously RAIA GUI systems with a single codebase and wider operational options would be a key enabler of such Web 3.0 PAMP-erings. And one can see BI, SaaS and an ever wider range of Web 2.0 vendors starting to provide these GUI based PAMP-erings.


Also Web 3.0 will provide means of searching, exploring and then attaching to data and methods in the Internet Cloud. This can and will be made much more straight-forward with AI and semantic Web technologies coming into play. And I won't disagree - its just that a)RAIA will be a necessary pre-cursor to much of data interfacing technologies and PAMP-ering capabilities; and b)RAIA has moved much further along to fruition than any other Web 3.0 technology.

In sum, RAIA is not entirely Web 3.0 but it is the start - and from the looks of things, a good start as the Web and desktop get both more open and closer together.


ที่มา : http://theopensourcery.com/dhtml3.htm#web2

อ่านต่อ...

วันพฤหัสบดีที่ 9 กรกฎาคม พ.ศ. 2552

ความรู้เกี่ยวกับความปลอดภัย

วิธีแก้ปัญหาการบุกรุก และการแก้ไขข้อมูล

1.การลักลอบเข้ามาขโมย และแก้ไขข้อมูล แก้โดยการเก็บข้อมูลโดยใช้การเข้ารหัส (Encryption) ข้อมูล

2.การปลอมตัวเข้ามา และทำธุรกรรมปลอม แก้ไขโดยใช้ระบบการยืนยันตัวบุคคล (Authentication)

3.การลักลอบเข้าใช้ระบบโดยไม่มีสิทธิ และการใช้ระบบเป็นทางผ่านในการลักลอบใช้ระบบอื่น แก้ไขโดยการใช้ Firewall ตรวจสอบ และกรองข้อมูลของการติดต่อจากเครือข่าย

มาตรการรักษาความปลอดภัยบนอินเตอร์เน็ต

1.การระบุตัวบุคคล และ อำนาจหน้าที่ (Authentication & Authorization) คือการระบุตัวว่าบุคคลที่ติดต่อ เป็นบุคคลตามที่กล่าวอ้างไว้จริง

2.การรักษาความลับของข้อมูล (Confidentiality) คือ การรักษาความลับของข้อมูลที่เก็บไว้ หรือส่งผ่านทางเครือข่ายโดยป้องกันไม่ให้ผู้อื่นที่ไม่มีสิทธิ์ลักลอบดูได้

3.การรักษาความถูกต้องของข้อมูล (Integrity) คือ การป้องกันไม่ให้ข้อมูลถูกแก้ไข โดยตรวจสอบไม่ได้การป้องกันการปฏิเสธ หรือ อ้าง ความรับผิดชอบ (Non-repudiation)

เทคโนโลยีรักษาความปลอดภัยในการทำธุรกรรม

1.การเข้ารหัสข้อมูล คือการทำให้ข้อมูลที่เก็บ หรือที่จะส่งผ่าน อยู่ในรูปที่ไม่สามารถอ่านออกได้ ซึ่งผู้ที่มีสิทธิจริง จึงจะสามารถถอดรหัสเพื่ออ่านข้อมูลนั้นได้

2.การใช้ระบบ Digital Signature เป็นเสมือนลายมือชื่อของผู้ส่ง เป็นกลไกป้องกันการปฏิเสธความรับผิดชอบจากผู้ส่ง และป้องกันการแก้ไขข้อมูล

อ่านต่อ...

ความปลอดภัยแบบที่ 2

อ่านต่อ...

การรักษาความปลอดภัยในองกรค์

ด่กาดกาดากด
กด่กาด่กาด่ากด
ก่ดาก่ดากดก
ด่กาดกด
ก่ดากด
กด่กาด
กด่กาด่ก
ดกด

อ่านต่อ...