נכון שה CAPTCHA באתר הוא סתם לעצבן את המגיבים ? לקרוא ולא להאמין

30 בדצמבר 2008

  אחד מהתחביבים שלי, זה לבדוק security של אתרים, אתם יודעים אפילו דברים פשוטים כמו xss, Sql Injection ועוד. לפני כמה ימים רציתי להוריד את קובץ ה css של האתר, כדי לראות איזה classes אני צריך לדרוס אם אני רוצה לשנות את המראה של הבלוג שלי כמו שגיא כתב כאן. אז כשהסתכלתי על ה source של האתר ראיתי שם של פונקצייה ב java script שמיד הדליק לי את כל נורות האזהרה, אז חבשתי את כובע ההקאר שלי והתחלתי להסתכל על הקוד,   לפני שנתחיל, שווה שנייה להבין למה צריך CAPTCHA, לכאורה הסבה העיקרית היא שלא לאפשר למתכנתים לכתוב קוד שימלא את האתר בספאם, או לדוגמא...
תגיות: ,
5 תגובות

באג באתר: חייבים לעשות Sign Out באתר הבלוגים אם אתם לא על המחשב שלכם

29 בדצמבר 2008

  יוצא לי הרבה פעמים להתחבר לאתר של הבלוגים לא מהמחשב שלי, ואם אני רוצה להכנס ל control panel, אני צריך לעשות Sign In, אז כמובן שאני מוריד את הסימון מ Next time automatically sing me in, ורק אז אני נכנס.   למרבה הפלא מתברר שהאתר מתעלם איכשהו מהורדת הסימון, ואחרי שעשיתם Sign In ממחשב כלשהו, אז כל עוד שלא תעשו Sign Out, הוא יזכור אתכם ויכנס באופן אוטמטי ללא צורך בזיהוי.    
תגיות:
אין תגובות

למה לא לעבור ל Internet Explorer 8

  ביום רביעי שעבר התקנתי את Internet Explorer 8 וביום ראשון הזה הסרתי אותו.   אז לפני שאספר את הסיבה שהסרתי, אני דווקא רוצה לדבר בשבחו, היו לו שני דברים שמאוד התלהבתי. 1, כשהקלדתי בשורת הכתובת את ה URL, הוא הביא לי רשימה של URL פנימיים שהייתי בהם, לדוגמא, אם התחלתי להקליד את הכתובת של הבלוג, הוא הביא לי את ה URL של לכתוב פוסט חדש. 2, בשלב כלשהו היו פתוחים שני טאבים, ואחד מהם בחר להתרסק, ולפני שהספקתי למצמץ, הטאב שוחזר אוטומטית.   אז כמובן שכל אוהדי פיירפוקס והחיות האחרות למיניהם, יקפצו ויגידו "אצלנו זה כבר קיים שנים" וכו', אז כדאי שתבינו שרוב האנשים שלא...
תגיות: ,
2 תגובות

לכותבי הפוסטים בעברית (Internet Explorer – AddIn)

28 בדצמבר 2008

  הבעייה בלכתוב פוסטים בעברית היא ידועה, אז נכון שמי שמשתמש עם ה Live Writer, החיים שלו הרבה יותר קלים, אבל עדיין יש הרבה בלוגרים (אני בתוכם, ואל תשאלו אותי למה) שכותבים את הפוסטים באתר, אז כדי לכתוב בעברית ובאנגלית (קוד) באותו פוסט, צריך לעבור את התהליך המעצבן הבא.   ללחוץ על הלחצן html בסרגל כלים, לחכות 30 שניות עד שהדף יגמור להטען, להוסיף: div dir=rtl align=right, (או להפך באנגלית), וללחוץ על update.   נשמע פשוט, לא ?   אז כשאתם עושים את זה הרבה פעמים, זה כבר מתחיל לעצבן, ויותר גרוע, הרבה פעמים יוצא keft במקום left, ואתם מגלים את זה רק בסוף אחרי שעשיתם publish כי ה...
2 תגובות

Changing the value of the process priority (Part 2)

24 בדצמבר 2008

בפוסט הקודם דברנו על איך לשנות עדיפות של process, בתגובות לפוסט נכתבו כמה תגובות איך אפשר לעשות את זה בצורה יותר יפה, אז חשבתי שזה שווה פוסט עם דוגמא לכל דרך שבה אפשר לעשות את זה. אז נזכיר גם האפשרות הראשונה, כמו שהדגמתי בפוסט הקודם, אחרי שמפעילים את ה process, צריך לעצור את ה thraed לשנייה, ורק אז להמשיך.       1 void RunProcess(string proName)     2 {     3     Process myProcess = new Process();     4     myProcess.StartInfo.FileName = proName;     5     myProcess.Start();     6     Thread.Sleep(1000);     7     myProcess.PriorityClass = ProcessPriorityClass.High;     8 }   לפני שנמשיך, רק אזכיר שעומר הציע לשנות את העדיפות לפני שמפעילים את ה process, אבל זה לא עובד מכיון שאם מנסים לעשות את זה, מקבלים exception.   הבעייה בדוגמא עם השהיית ה thread, היא...
תגיות:
5 תגובות

Changing the value of the process priority

23 בדצמבר 2008

הייתה לי התכתבות עם מישהו חביב בשם יורם בקשר לשינוי עדיפות של Process, הבעייה שלו הייתה שהוא ניסה לשנות את העדיפות מתוך הקוד, וזה פשוט לא קרה, ה process נשאר בעדיפות של normal. הקוד שלו היה כך:       1 void RunProcess(string proName)     2 {     3     Process myProcess = new Process();     4     myProcess.StartInfo.FileName = proName;     5     myProcess.Start();     6     myProcess.PriorityClass = ProcessPriorityClass.High;     7 } ה Process המדובר היה סוג של Media Player כלשהו,   כשבדקתי מה קורה, גיליתי שאם נניח אני מנסה להריץ את notepad, זה עובד כמו שצריך אבל ב Process-ים אחר, בחלקם שה לא עובד, והסבה לכך, היא, שלוקח ל Process זמן לעלות, ואם אנחנו מנסים לשנות את העדיפות שלו, או כל דבר אחר לפני שהוא לגמרי...
תגיות:
8 תגובות

כשכותבים switch block, האם זה נשאר כך ? הנה התשובה

21 בדצמבר 2008

אז דברנו על זה שהקומפיילר מרגיש חופשי לשחק עם הקוד שלנו איך שנראה לו, ולהפוך בלוקים של switch לבלוקים של if, ואנחנו לא ממש מבינים מה הקומפיילר מנסה לעשות. אז כשיש כאלו שאלות, למי פונים, כמובן לסשה.  אז שלחתי לו מייל עם השאלה, ואני מעתיק לכאן את התשובה שלו, ותודה על התשובה המפורטת.   הקומפיילר רשאי לממש את זה באיזה אופן שמתחשק לו, כל עוד הסמנטיקה של הקוד שלך נשמרת. למשל, עבור switch על הרבה string-ים שונים הקומפיילר מייצר Dictionary ומשתמש בו כדי לבדוק לאיזה מקרה אתה מגיע (אתה יכול לבדוק את זה בקלות בעצמך, רק ב- Reflector אל תסתכל על C# אלא...
תגיות: ,
2 תגובות

כשכותבים switch, האם זה נשאר כך ?

טוב, כנראה החוויה הקשה שעברתי עם מחיקת הפוסט של ה FxCop בזמן publish, לא עוזבת אותי, כי אני ממשיך לכתוב אודותיו. בכל מקרה, המשכתי קצת לשחק עם הקוד, וגיליתי משהו מעניין, החוק שמחייב אותנו, לממש case עבור כל האפשריות ב enum, עובד רק עם ממשנו יותר מ case אחד, במדה וממשנו רק case אחד, ה Code Analysis יתעלם לגמרי מכל מה שאנחנו כותבים והוא יעביר את הקוד קומפילציה, אז כדי להבין מה קורה, כתבתי את הקוד הבא, והסתכלתי ב reflector, וגיליתי דברים חדשים,       1     public void f2(MyEnum myEnum)     2     {     3         switch (myEnum)     4         {     5             case MyEnum.A:     6            ...
תגיות: ,
5 תגובות

איך אפשר לדבג את הקוד של FxCop

20 בדצמבר 2008

אז כמו שהבטחתי, בסוף הפוסט הקודם, הפוסט הנוכחי ידגים איך אפשר לדבג קוד של Code Analysis שאנחנו כותבים.  אז, בדרך כלל כשאנחנו רוצים לדבג Visual Studio, אנחנו פותחים עוד Visual Studio, ועושים Attach to Process, (תחת תפריט Debug) ובחרים את ה Process שזה בדרך כלל, אותו Visual Studio שאנחנו רוצים לדבג, וברגע שיש Exception, אנחנו מקבלים חיווי ב Visual Studio השני. אבל, מסתבר שב Code Analysis זה פשוט לא עובד, אני לא סגור על הסיבות, אבל זה המציאות, וצריך להתמודד עם זה, ולכן כדי שנוכל לדבג את הקוד, אנחנו צריכים לעשות את התהליך הבא: דבר ראשון בתוך הקוד של ה Code Analysis שאנחנו...
2 תגובות

Force a switch block to implement all cases (using FxCop)

19 בדצמבר 2008

זה מבאס אבל ממש מבאס, ולמי שזה לא קרה עדיין שיצביע, אני מדבר כמובן על המצב שבו אתם יושבים וכותבים במשך שעה ארוכה פוסט מושקע עם דוגמאות, ואז כשהכול מוכן ל Publish, בלחיצת כפתור הכל נמחק. אבל כמובן שנהיה חזקים ונשקיע עוד שעה מהחיים עבור הקהילה, ונכתוב את הכל מחדש. אז אחרי שהתבכיינתי, נגש לעניין.   באחד הפוסטים הראשונים כתבתי על דרך להכריח את המתכנתים כשעושים switch על enum, לעשות case על כל האפשריות, ו Arielr כתב בתגובה "לא יהיה יותר קל לכתוב חוק של FXCOP ולסגור עניין?" אז חשבתי לעצמי, קדימה בוא נממש את זה, אז נכנסתי לעולם של FxCop, וממשתי את...
8 תגובות