บริษัทด้านความปลอดภัย Fortify Software ได้ออกมาเตือนว่าค้นพบรูรั่วในชุดพัฒนา AJAX เกือบทุกยี่ห้อ
Fortify Software เรียกรูรั่วนี้ว่า JavaScript Hijacking แนวคิดของมันคือถึงแม้ว่า X ใน AJAX จะหมายถึง XML ที่ใช้เป็นสื่อกลางในการส่งข้อมูล แต่เอาเข้าจริงแล้ว AJAX ก็ไม่จำเป็นต้องใช้ XML เสมอไป อาจส่งข้อมูลเป็น HTML, text หรือ JavaScript (ในที่นี้คือ JSON) ก็ได้ ซึ่งถ้าเป็น XML หรือ HTML แล้ว เว็บเบราว์เซอร์จะมีนโยบายด้านความปลอดภัย "same origin policy" ที่บังคับว่าข้อมูลต้องมาจากโดเมนเดียวกัน แต่ไม่มีนโยบายนี้กับ JavaScript
รูรั่วนี้ทำให้ผู้ประสงค์ร้ายสามารถล้วงข้อมูลหรือส่งข้อมูลปลอมให้กับโปรแกรมที่เป็น AJAX ได้
Fortify ระบุว่ามีชุดพัฒนา AJAX จำนวน 11 ตัวจากทั้งหมดที่ทดสอบ 12 ตัวที่มีรูรั่วนี้ ได้แก่ Microsoft ASP.NET AJAX (Atlas), XAJAX และ Google Web Toolkit, Prototype, Script.aculo.us, Dojo, Moo.fx, jQuery, Yahoo! UI, Rico และ MochiKit ซึ่งนักพัฒนาได้รับแจ้งเรื่องปัญหานี้แล้ว และเตรียมจะออกรุ่นแก้ไขต่อไป
ที่มา - CBR Online
Comments
บอกแล้วให้ใช้ Applet : P
Flash ยังดีกว่าเลย
ชอบ Flex/Flash ก็ใช้สิ ผมสนับสนุนการใช้ DSL มาแต่ไหนแต่ไร
ใช่ๆ สงสัยต้องไปหัดเขียน (อย่างน้อยมันก็ไม่ช้า)
ก็ถ้าใส่ JavaScript เยอะๆ มันก็ช้าเป็นธรรมดาแหละ เลยไม่แนะนำไง
ผมหมายถึง applet น่ะ คงไม่มีใครเข้าใจผิดละมั้ง
อ้าวหรอ ผมนึกว่าหมายถึง JavaScript ซะอีก ทั้ง Yahoo mail, hotmail ผมละอืดจะแย่เลย
ว่าแต่ว่าใช้ applet ไหนแล้วช้า?
JavaScript ช้าเพราะใส่ลงไปเยอะ ถ้าใส่น้อยก็ไม่ช้า แปรผันตรง Applet ใส่น้อยก็ยังช้า ไม่ว่าจะตัวไหน
ขอดูตัวอย่างที่เรียกว่า "ช้า"
ช้าคงหมายถึงตอนโหลด
Applet ไม่ช้า แต่เครื่องทั้งเครื่องน่ะช้าไปเลย เพราะโดนสูบแรมจนเหลือแค่ปริ่มๆ
่java มันช้าเป็นทุนอยู่แล้วอ่ะฮะ ไม่แน่ใจว่าทำไม แต่อย่างน้อยก็เครื่องผมล่ะ 1 ที่ java ช้ากว่า flash และ js
applet ไม่ช้าหรอก เวลารัน applet ที่เร็ว นิ่ง เจ๋งมาก แต่โปรแกรมอื่นจะวอดวายกันหมดเพราะ โดน applet ดึงซีพียูกับแรมไปหมด
เรียกว่าใช้ซีพียูไม่คุ้ม จะดีกว่ามั้ง
onedd.net
อ่านประโยคนี้แล้วงงๆ ถ้าไม่ไปอ่านที่ต้นฉบับ สรุปก็คือเป็นปัญหาที่บราวเซอร์ไม่ยอมทำตามนโยบายนี้กับ JSON สินะครับ
นโยบาย same origin มันเป็นนโยบายปกติของ browser ทั่วไปกับ HTML, XML แต่มันไม่ครอบคลุมถึง JavaScript
JSON เป็นทางเลือกอื่นแทนที่จะส่งข้อมูลด้วย XML ให้ง่ายกว่าก็ส่งเป็น JavaScript มันซะเลย แต่พอมันเป็นอย่างนี้ก็เข้าทางโจร เพราะเป็นการเปิดช่องให้เล่นอะไรแผลงๆ โดยแทนที่จะส่งข้อมูลกลับมาที่ browser กลับให้ส่งไปที่ผู้ก่อการร้ายแทน
ประเด็นของผมคืออ่านแล้วงงน่ะครับ เพราะ AJAX มันก็เป็น JavaScript อยู่แล้ว แล้วไม่ใช้นโยบายนี้กับ JavaScript ก็เลยมึนๆ
เข้าใจแล้วครับ ผมก็งงเหมือนกัน แต่ผมก็ว่าคำพูดของคุณ sirn มันหมิ่นเหม่ด้วย เพราะไปใช้คำว่า "ไม่ยอมทำตาม" ซึ่งอันที่จริงมันไม่ได้ขัดขืน แต่บราวเซอร์มันไม่ได้ใช้นโยบายนี้เลยด้วยซ้ำ แล้วมันเป็นกับ JavaScript ไม่เฉพาะกับ JSON
เป็นจริงๆเหรอ ... เหมือนหลายๆตัวไม่น่าจะเป็นนะ
แฟนพันธุ์แท้สตีฟจ็อบส์ | MacThai.com
อ่านนี่จะเข้าใจได้ง่ายกว่า
Security for GWT Applications
ในข่าวนั้นมันเขียนแล้วนึกภาพไม่ออก
----------------------- http://www.seasandsong.com/
จริงๆ ผมว่าเรื่องการไม่ทำตาม same origin policy นี่มันเป็นประโยชน์อย่างนึงของ JSON เลยนะครับ เพราะทำให้สามารถดึงข้อมูลจากอีกเว็บนึงมาได้โดย client เลย ไม่ต้องใช้ server เป็นตัวไปดึงมาก่อน
ของ flash เองมันก็มี crossdomain.xml javascript ก็น่าจะมีมั่ง :D
---------- iPAtS
iPAtS
applet ช้าเหรอครับ พวกโปรแกรม realtime หุ้น ไม่เห็นมันจะช้าเลย ใช้ applet
แต่ realtime ที่ใช้ flash อย่าง โปรแกรม streaming ของ settrade.com นี่มันโหลด cpu อย่างหนักเลย ถ้าเครื่องไม่แรงล่ะก็ ใช้ไม่ได้
ผมไม่ค่อยชอบ flash เท่าไหร่
[เข้ามาเพิ่มเติม]
เรื่อง applet ช้านี่ ผมเจอเข้ากับตัวเองแล้วละ Realtime เทรด Futures ของ AFET นี่กว่าจะโหลดเสร็จ นั่งเคี้ยวหมากฝรั่งจนหายหวานแล้วก็ยังโหลดไม่เสร็จ
- - - - - - - - http://iake.blogspot.com
อืมมพึ่งนั่งดู JSON ไม่นานนี่เองแฮะ ตกลงมันมีรูรั่วหรอนี่ - -* --- ก่อนหน้าจะมี AJAX เคยคิดจะใช้ FLASH แทนอยู่เหมือนกัน (เพราะรู้สึกว่ามันไม่ยุ่งยากเหมือนกับการนั่งเีขียน Applet เอง) แต่ก็ไม่ได้ทำเพราะ FLASH มันมีข้อด้อย ในเรื่องการจัดการหน่วยความจำ (เรื่อง Garbage collection) ส่วนถ้าจะให้ดีจริงๆ คงต้องไปนั่งเขียน Director มั๊ง เขียนเป็น Shockwave เต็มๆไปเลยจะช่วยได้ (แต่ก็นะตอนนี้มี AJAX แล้วนี่) --- เรื่อง Applet ช้า .. ผมว่าเป็นอย่างที่พี่ sugree ว่านะครับ คือ Java มันชอบกิน RAM + CPU สูงมากๆ โดยส่วนตัวแล้วผมไม่ชอบ การใช้ Applet หรือ ActiveX เท่าไหร่ เพราะมันไม่ common คือมันชอบขึ้นมาถามให้ confirm นู่นนี่อยู่เรื่อยน่าเบือครับ สำหรับคนใช้งานเว็บส่วนใหญ่แล้วผมมั่นใจว่า มีอะไรให้เลือก- ให้ตัดสินใจน้อยเท่าไหร่ยิ่งดี
Applet มันจะทำ browser นิ่งไปพักนึงตอนที่มันพยายามจะ initialize ตัวมันขึ้นมานะ แต่โหลดเสร็จแล้วก็ไม่ช้าเท่าไหร่ ยกเว้นตอนสลับหน้าต่างไปๆ มาๆ เนี่ย จะมีหน่วงๆ ให้เห็น
สรุปว่าชอบ flash มากกว่า
pittaya.com
ผมชอบเทคนิคของ GWT มากกว่า อย่างน้อย ๆ ผมว่ามันประยุกต์ได้ดีกว่า Applet หรือ JSF แทรก javascript แบบเขียนเองลงไปในโค้ดก็ได้ ใช้ร่วมกันระหว่าง java ได้เลย GWT นี่แหละตัวจริง บางทีก็เอาไปผสมกับ jsp ธรรมดา ๆ บางครั้งผมก็ผสมกับ xhtml ปกติ (อย่างหลังนี่กินแรมน้อยมาก ๆ ผมยังเป็นพวกที่ชอบทำทุกอย่างให้กินแรมน้อยที่สุดเท่าที่จะทำได้ ไม่รวยอ่ะ)
ที่เลือก GWT เพราะว่า java ตรวจสอบความผิดพลาดได้ง่ายกว่า javascript เพียว ๆ แล้วก็ถ้าให้ออกแบบเป็น UML อาจารย์จะเข้าใจง่ายกว่า ส่วน javascript ไม่รู้จะใช้อะไรทำ design น่ะครับ
ตกลง applet มันช้าตอน load หรือตอนทำงานกันแน่
ผมว่าแค่ load ช้าเท่านั้นนะ