Skip to main content

Posts

Showing posts from October, 2016

elasticsearch - מבוא חלק 3 - חיפוש

איך מבצעים חיפוש ב ElasticSearch - מבוא בסיסי עד עכשיו הכנסנו מידע ל elasticsearch (בהמשך ייכתב ES בקיצור). הגיע הזמן שנחפש אותו ... Types אבל לפני שמתחיל לחפש נתאר עוד מושג חשוב ב ES והוא type . המושג הזה מאפשר לחלק את המסמכים שמוכנסים ל ES לקבוצות שונות. כלומר, אפשר להגיד ל ES בזמן הכנסת מסמך שהוא בעל type מסויים. לדוגמא: נבנה אינדקס עבור מסעדה ונאנדקס בו תאור של כל המנות תחת type שנקרא dish, נאנדקס מידע על המלצרים תחת type שנקרא waiters ונאנדקס מידע על ספקים תחת type שנקרא supplier. זה מה שמאפשר לנו אח"כ לחפש מידע מסוג מסויים. נוח! הכנסת מסמך עם ציון הסוג שלו: דוגמא: ובמקרה שרוצים לתת ל ES לקבוע בעצמו את מזהה המסמך: נחזור לחיפוש לחיפוש יש שני API-ים שונים.. אחד פשוט ומהיר שמיועד בעיקר לאנשים שרוצים להריץ שאילתא. השני הוא מובנה ומיועד לתוכנית שפונה ל ES.  בשני המקרים צריך לציין איפה לחפש. זאת מציינים בשורת ה URL: כדי לחפש באינדקס מסויים נרשום בשורת ה URL: GET /indexName/_search כדי לחפש בסוג מסויים באינדקס: GET /in

XSS התקפת

התקפת XSS על אפליקציות ווב התקפת XSS מנצלת את העובדה שאפלקציית ווב משתמשת ב HTML ו JavaScript לרוץ על הדפדפן.  בעזרת הטכניקה שתתואר בהמשך, התוקף מצליח להריץ קוד JavaScript שלו על הדפדפן של הנתקף. ראשית, XSS הוא ראשי תיבות של Cross Site Scripting . במקומות מסויימים ההתקפה גם נקראית JavaScript injection . איך זה עובד? זה כל כך פשוט שזה מדהים.  התוקף צריך להזריק קוד שלו לתוך דף שהנתקף עלול לגלוש אליו. ברגע שהנתקף ניגש לדף הזה, הקוד של התוקף ירוץ על הדפדפן שלו. ואיך אפשר "להזריק" קוד? הרי זה נשמע בלתי אפשרי ...   יותר קל להבין את השיטה דרך דוגמא. דוגמא: בואו נסתכל על אתר פורומים שמאפשר לשמור בו הודעות בפורום.  באתר כזה יהיה טופס להכניס הודעה חדשה לפורום. ויהיה בו דף אחר בו אפשר לראות את כל ההודעות. להלן דף להזנת הודעה חדשה: ובדף אחר אפשר לראות את כל ההודעות: עכשיו התוקף ייכנס לאתר ויזין לשדה הנושא או לשדה ההודעה מחרוזת שמריצה קוד JavaScript (יש להקיף אותו בתגית מה שיקרה עכשיו הוא שכאשר מישהו ייכנ

elasticsearch for dummies (hebrew) - part 2 - the document

המסמך בחלק 1 של מבוא ל elasticsearch   נאמר כי elasticsearch הוא database שיודע לשמור מסמכים ולחפש בהם בצורה מאוד מהירה. אז מה זה מסמך? כאשר שומעים את המילה "מסמך" ( document ) ישר קופץ לראש מסמך וורד או מסמך PDF שיש בו הרבה טקסט ותמונות. לא מדובר פה בכזה מסמך. מסמך ב elasticsearch הוא אוסף של שדות. כל שדה יכול להכיל מחרוזת או מספר. שדה יכול להכיל מערך של ערכים. שדה גם יכול להיות שדה "מורכב" כך שהוא בעצמו מכיל אוסף שדות. חשוב לזכור שבמקרה והשדה מחזיק מחרוזת זה לא אומר בהכרח שמדובר בטקסט פשוט. יכול להיות שהמחרוזת הזו היא בעצם תאור של תאריך או תאור של סכום כספי. כל מידע שיש לנו אפשר בדר"כ לייצג במסמך כזה. פשוט מחלקים את המידע לשדות ובונים "מסמך" שהוא אוסף השדות. הצורה השכיחה להציג מסמך כזה היא שימוש בפורמט json . דוגמא: לאחר שיוצרים אינדקס, אפשר לאנדקס מסמכים, למחוק מסמכים מהאינדקס, לעדכן מסמכים ולחפש מסמכים. שמירת מסמך ב database אם רוצים לשמור מידע חדש ב database אז יוצרים עבור המידע "מסמך" ואותו