บทความ

กำลังแสดงโพสต์จาก เมษายน, 2019

Remind Note

1.SQL Where DATA without Time - ใช้ CASE AS Date จะทำงานได้เร็วกว่าการ Convert Ex Code  SELECT  * FROM log_report WHERE CAST(create_datetime AS DATE) = '2019-03-11' 2. Entity Framework Execute SQL Short Note คำสั่ง ExecuteSqlCommand อย่าลืมใส่ TransactionScope ครอบไว้ด้วย เพราะ เป็นการส่งคำสั่งไปทำงานที่ SQL Server เลย (ถ้า Execute ไปแล้ว จะไม่สนใจคำสั่ง SaveChanges() Ref URL : https://www.entityframeworktutorial.net/EntityFramework4.3/raw-sql-query-in-entity-framework.aspx 3. SELECT WITH NOLOCK Short Note  - Select ได้ข้อมูลเร็วมาก เพราะ จะไม่ไปเช็ค State อะไรเลย และ ไม่สนความถูกต้องของข้อมูล - ควรระวัง กับ ข้อมูลที่ต้องการความถูกต้องสูง เพราะ การ SELECT จะ SELECT Data ณ เวลานั้นเลย แบบไม่รอ State ถ้ามีการเปลี่ยนแปลงเกิดขึ้น พร้อมกัน หรือ หลังจากนั้น ก็จะผิดพลาด - NoLock not Allowed for (INSERT, UPDATE, DELETE, MERGE) ใช้ไม่ได้นะ Ex Code Select * from aTable with (NOLOCK) Ref URL : https://stackoverflow.com/questions/210171/effect-of-n...

ความบาปเมื่อใช้ Textarea ของ Razor กับ vue js รวมกัน

รูปภาพ
สวัสดีครับ วันนี้ผมมีเรื่องมาเล่าสู่กันฟัง คือ ช่วงนี้โปรเจคผมโดน   Penetration Test  หนักหน่วงมากครับ และหนึ่งในหัวข้อที่ผมเจอคือ Cross-site Scripting (XSS) ซึ่งทางเอกสารที่เขาส่งมาให้ผม ก็บอกถึงจุดโหว่แต่ละจุดครับ ว่าเกิดขึ้นได้อย่างไรบ้าง และ ผมก็จะยกตัวอย่าง 1 ข้อที่ผมพอเจอมา นั้นก็คือการใช้ @Html.TextAreaFor เป็น Syntax ของ Razor Template ควบคู่ไปกับการกำหนด  attribute  ของ vue.js ถ้ามองไม่ออกให้ดูตามภาพครับ **  ถามว่าทำไมถึงทำแบบนี้ ก็ต้องบอกตามตรงว่า ไม่ควรทำครับ  แต่ตอนนั้น ผมต้องการจะใช้ คุณสมบัตรของตัว data annotation ของ MVC ในการ Validate ค่าครับ         เพราะ ไม่อยากเขียน validate แยกอีกรอบ เพราะ model นี้ต้องใช้หลายโปรเจคครับ  เลยทำให้ออกเป็นท่านี้ ** จาก code คือ ผมต้องการแสดงค่าจาก model.Interview.Note ออกมาครับ โดยใช้ @Html.TextAreaFor เป็น Syntax ของ Razor Template นั้นเองครับ แล้วข้างใน tag นี้ ผมก็ใส่ attribute ในส่วนของ vue.js เข้าไป ซึง มันก็ work นะครับ ท...