Deprecated: Creation of dynamic property CF\WordPress\DataStore::$logger is deprecated in /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/DataStore.php on line 23

Deprecated: Creation of dynamic property CF\WordPress\Proxy::$pluginAPI is deprecated in /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/Proxy.php on line 31

Deprecated: Creation of dynamic property SyntaxHighlighter::$brush_names is deprecated in /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/syntaxhighlighter/syntaxhighlighter.php on line 248

Deprecated: Creation of dynamic property SyntaxHighlighter::$specialchars is deprecated in /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/syntaxhighlighter/syntaxhighlighter.php on line 326

Warning: Cannot modify header information - headers already sent by (output started at /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/DataStore.php:23) in /home/nitzan_n2b/n2b.org/wordpress/wp-includes/feed-rss2.php on line 8
featured Archives - המכללה https://n2b.org/tag/featured כי החיים זה לא מדע מדוייק Thu, 20 Feb 2020 08:18:32 +0000 he-IL hourly 1 https://wordpress.org/?v=6.3.4 25004112 זהירות ממאסטרגייט וטימלנד https://n2b.org/archives/2316 https://n2b.org/archives/2316#comments Tue, 24 Jan 2012 09:17:42 +0000 http://n2b.org/?p=2316 אחד החסרונות בלהיות דוברי עברית היא שכל התאמה של ערכת עיצוב מצריכה הרבה יותר עבודה עבור כתיבה מימין לשמאל. למרבה המזל יש בישראל לא מעט מפתחים שהחליטו להצטרף למאמץ ולתרגם את הערכות לטובת הקהילה. מצד שני, מסתבר שיש מספר מפתחים שהחליטו לתרגם ערכות על מנת לנצל אותן לטובתם האישית. אחד מהם הוא אתר מאסטרגייט אשר […]

הפוסט זהירות ממאסטרגייט וטימלנד פורסם על ידי ~ניצן~ בבלוג המכללה

]]>
אחד החסרונות בלהיות דוברי עברית היא שכל התאמה של ערכת עיצוב מצריכה הרבה יותר עבודה עבור כתיבה מימין לשמאל. למרבה המזל יש בישראל לא מעט מפתחים שהחליטו להצטרף למאמץ ולתרגם את הערכות לטובת הקהילה. מצד שני, מסתבר שיש מספר מפתחים שהחליטו לתרגם ערכות על מנת לנצל אותן לטובתם האישית. אחד מהם הוא אתר מאסטרגייט אשר הזריק לכל הערכות בכל האתרים שלו קוד זדוני ומסוכן המאפשר לו להשתלט על הבלוג שלכם ולהכניס לשם תוכן משל עצמו.

חשוב להבין – מדובר בקוד מסוכן שמקבל גישה אל השרת שלכם ויכול (ואף עושה בפועל) לעשות בו כרצונו. היות והערכות יכולות להכיל פונקציות מלאות הוא אפילו יכול בעיקרון לקבל גישה מלאה אל הבלוג שלכם.

לכן, ולפני הכל – אם הבלוג שלכם מריץ ערכת עיצוב שהגיע מאחד האתרים הבאים – הסירו אותה עכשיו במידי ואז חיזרו לקרוא.

mastergate.co.il
themeland.co.il
themes.org.il
wpstore.co.il (הערה, פה נמכרות תבניות בתשלום ולכן לא בדקתי את הקוד בפועל, אם קניתם דרך האתר ערכת עיצוב, אנא צרו איתי קשר על מנת שאוכל לבדוק)

הכל התחיל כשמיטל מבלוג הלקים גילתה שבפוטר של הערכה שלה, שהורדה מהאתר של מאסטרגייט, הופיעו לינקים שהיא לא שמה ולא רצתה בהם. ניסיון להסיר את הלינקים הללו הקפיץ הודעה שהאתר מפר זכויות יוצרים. זו, הייתה יריית הפתיחה – שכן מדובר בערכה המופצת תחת קוד GPL ולא רק שמותר לשנות בה את הקוד כאוות נפשנו, אלא שוודאי וודאי שאין למאסטרגייט שום זכויות יוצרים על הערכה.

התקנתי את הערכה על שרת מקומי והתחלתי לחפש את ההתערבויות, היות ומדובר בערכה די נרחבת קיים סיכוי סביר שלא מצאתי את הכל, אבל פה יש תיעוד של מה שמצאתי.

ההתחלה הייתה בקוד ה footer שם נמצא קוד ה PHP הבא:

eval(base64_decode("d3BfY2FjaGUoKTs="));

כאשר פתחנו את הקידוד נמצאה בתוכו הפונקציה
wp_cache();
לא ראינו שום סיבה להעלים את פונקציית ה cache אך ברגע שזו הוסרה הופיעה לפתע הודעה המכריזה כי האתר מפר זכויות יוצרים.

המקום הבא לחפש בו היה קובץ ה functions.php, זהו קובץ שנטען ביחד עם הערכה ומיועד לפונקציות יעודיות של המפתח. ואכן, בתוך הקובץ הלז, נמצאה שורה דומה:

eval(stripslashes(base64_decode(קוד זדוני ארוך פה));

לא סתם ציינתי כי מדובר בקוד זדוני, בוריס טרח לפרק את הקוד ולנתח אותו ויעלה פוסט בהקדם, נגיד רק שמדובר בקוד שמבצע גישה אל הדאטה בייס ואל הקבצים של הערכה, הוא ניגש אל השרת של מאסטרגייט ומוריד ממנו עידכונים אשר משוכתבים אל תוך הערכה עצמה. בפועל זה משמש להתקנת לינקים פירסומיים, בפועל, ניתן להשתמש בזה כדי להכניס כל קוד זדוני אחר.

לאחר שהשוותי את קבצי הפונקציה אל קבצי הערכה המקורית ראיתי שמדובר בתוספת שלא הוכנסה במקור על ידי המפתח המקורי. הסרתי את הפונקציה וטענתי את הבלוג מחדש – הפעם, כלום לא עבד.

יש שתי דרכים לפתור את הבעיה הזו, האחת ארוכה ויסודית ושולחת את המפתח לפתוח את הדחיסה ולקרוא את תכולת הקובץ. השניה, קלה יותר ומהירה יותר – להציץ בדוח השגיאות של שרת ה apache.
על אובונטו עושים את זה על ידי שימוש ב:

tail -f /var/log/apacge/error.log

הפונקציה tail “מציצה" למעשה אל סוף הקובץ הנקוב והפרמטר f אומר לפונקציה לעקוב אחרי שינויים בקובץ ולהדפיס אותם אל המסך. התוצאה אגב היא – בכל פעם שיש הודעת שגיאה היא תודפס בטרמינל.

לאחר הקלדת הפקודה וריענון העמוד קיבלתי את הודעת השגיאה הבאה:

Fatal error: Call to undefined function wp_get_header() in /home/nitzan/www/wordpress/wp-content/themes/des/index.php on line 1

אכן, הקובץ index.php הכיל קריאה לפונקציה wp_get_header רק שזו אינה פונקציה של וורדפרס. הפונקציה של וורדפרס היא get_header – החלפתי את הפונקציה ב get_header והמשכתי הלאה.

הודעת השגיאה הבאה שהתקבלה היא:
Fatal error: Call to undefined function wp_loaded() in /home/nitzan/www/wordpress/wp-content/themes/des/header.php on line 1

הפונקציה הזו אינה מוכרת לי אבל אכן בקובץ ה header.php נמצאה בדיקה בנוסח הבא:

<?php if (wp_loaded() === true) { ?>

הודעת השגיאה הבאה הייתה

Parse error: syntax error, unexpected '}' in /home/nitzan/www/wordpress/wp-content/themes/des/header.php on line 72

ואלו היו הסוגריים המסולסלים שסוגרים את הבדיקה של הפונקציה הקודמת.

לאחר ההסרה, חזר הבלוג לעבוד אבל ה footer לא הופיע יותר. בדיקה בקובץ index.php הראתה קריאה אל

wp_get_footer();

שבדיוק כמו במקרה הראשון – זו אינה הפונקציה המקורית אלא הסוואה שלה שכן הפונקציה המקורית היא

get_footer();

לאחר שינוי הפונקציה חזרה הערכה לעבוד בשלמותה בעמוד הראשי אבל דפים פנימיים חזרו להקפיץ הודעות שגיאה.
לצורך כך, על מנת להימנע מבדיקה של כל הערכה, הוספתי אל קובץ functions.php את הפונקציות הבאות:

function wp_get_header(){get_header();}
function wp_get_footer(){get_footer();}
function wp_loaded(){return true;}

ובכך הסתכם הטיפול בערכה. והיא חזרה לעבוד מבלי הקוד הזדוני שהושתל על ידי מאסטרגייט.

מדגימה של מספר ערכות באתר של מאסטרגייט ובאתר themes.org.il עלה כי בכולן הושתל קוד זדוני שכזה או דומה. ראוי לציין כי גם האתר wpstore.co.il הוא בבעלותו של מאסטרגייט, ואני מניח כי את אותם הקודים ניתן למצוא גם שם.

לסיכום

הזכויות לתרגום ערכה נגזרות מהיותה GPL ולכן מחייבות הפצה כ GPL, אם הוכנס "כל הזכויות שמורות" זה כבר דגל שאמור להחשיד. ככלל, ערכות עדיף ורצוי תמיד להוריד ממקורות בטוחים. רצוי תמיד לחפש את שם הערכה בגוגל, ברוב המקרים זה יוביל אתכם אל המקור. רצוי להוסיף שמאסטרגייט לא המציא את הגלגל, ראיתי קודים כאלה גם קודם באתרים אחרים ולפחות ערכה אחת שמצויה באתרו היא ערכה שבמקור הכילה קוד הגנה על זכויות יוצרים של המפתח – שהוסר והוחלף על ידי הקוד של מאסטרגייט.

הנוהג של השתלת לינקים על זכויות העברות הוא לא גם יחודי למאסטרגיט, ראיתי את זה במספר אתרים אחרים, מה שבטוח, כולם טוענים שהסרה של הקודים הן הפרה של זכויות היוצרים, רצוי לזכור שהתרגום נעשה מתוקף היות הערכה GPL ולכן, כחלק מהחוקים של GPL אין שום מניעה ואיסור וזו אף זכותכם המלאה להסיר את התוספות הללו מהקוד.

קריאה לפעולה
אם קניתם ערכה אצל אחת מחנויות הערכות הישראליות – אנא צרו איתי קשר למייל nitzanb (at) gmail.com – אני רוצה לבדוק עד כמה הנוהג הזה נפוץ ולעדכן.

עידכון – 16:10 – למרות שלמיטב ידיעתי האתר מסטרגייט שייך ליחיאל סימן טוב, הרי שעל פי רישום ה DNS הוא שייך כרגע לאדם אחר בשם ערן מיטל. אי לכך אין ביכולתי לדעת בוודאות באיזה תאריך בוצעה החלפת הבעלות ולכן אין ביכולתי לדעת האם הקוד הוא תורשה של יחיאל או תוספת של ערן.

זהירות ערכות בחינם מסוכנות – מאסטרגייט טימלנד

לדרג את הפוסט
0

הפוסט זהירות ממאסטרגייט וטימלנד פורסם על ידי ~ניצן~ בבלוג המכללה

]]>
https://n2b.org/archives/2316/feed 62 2316
ברוך שובך גלעד – מחשבות לא סדורות https://n2b.org/archives/2263 https://n2b.org/archives/2263#comments Tue, 18 Oct 2011 08:46:43 +0000 http://n2b.org/?p=2263 אזהרה: הפוסט הזה הוא בעיקר אמוציונאלי, זה אומר שהוא יהיה מבולגן, מצטער אם לא טוב לכם, כרגע, גם לי לא כל כך. אני עולה ללבנון בקרוב, לא סתם ללבנון, אלא לאותה גיזרה ארורה שבה נחטפו אהוד גולדווסר ואלדד רגב באירוע שסימן את פתיחת מלחמת לבנון השניה. היינו בסקירת גיזרה למפקדים לא מזמן, כמובן שטרחו להראות […]

הפוסט ברוך שובך גלעד – מחשבות לא סדורות פורסם על ידי ~ניצן~ בבלוג המכללה

]]>
אזהרה: הפוסט הזה הוא בעיקר אמוציונאלי, זה אומר שהוא יהיה מבולגן, מצטער אם לא טוב לכם, כרגע, גם לי לא כל כך.

אני עולה ללבנון בקרוב, לא סתם ללבנון, אלא לאותה גיזרה ארורה שבה נחטפו אהוד גולדווסר ואלדד רגב באירוע שסימן את פתיחת מלחמת לבנון השניה. היינו בסקירת גיזרה למפקדים לא מזמן, כמובן שטרחו להראות לנו איפה זה קרה, באותה הזדמנות הסבירו לנו שאותם מוצבי חיזבאללה שאנחנו רואים בכל מקום הם לא הבעיה. הבעיה, היא כל אותם המוצבים שאנחנו לא מסוגלים לראות. כאלה שחפורים בתוך היער, בין העצים וגם אם תדרוך עליהם לא תדע שהם שם.

אני אהיה בן 34 בינואר הקרוב, זה אומר שמלבד אותן שלוש שנים כלוחם בסדיר, אני גם עושה מילואים כבר 11 שנים בערך. זה גם אומר שהפעם הקודמת שהסתכלתי על גדר הגבול הזו הייתה מהצד השני שלה לפני שעוד מלאו לי 20. זו גם הייתה הפעם הראשונה שיצא לי להתמודד עם מוות של חבר. זו לא הייתה הפעם הראשונה בה פגשתי במוות, סה"כ התנדבתי במד"א מאז גיל 16 ועד לגיוס וכמות הפעמים שבהן זכיתי ב"תענוג" המפוקפק של להכניס גופה אל "האגף השקט" ברמב"ם מצריכה יותר אצבעות מאשר יש לי.
לא הייתי שם כשאושרי שוורץ נשרף למוות, סה"כ הוא היה בגולני ואני בגבעתי. את המידע הזה קיבלתי בדמות החיוך שלו על השער הראשי של ידיעות אחרונות שהגיע אל הבסיס עם אחד החיילים ביום ראשון. לקח לי רגע לעכל שזה באמת היה הוא, אחר כך, כבר כלום לא עיניין אותי. זה לא שלא ידעתי שאפשר לההרג בלבנון, זה שפשוט ההבדל בין לדעת ללהפנים הוא עצום.

מור אלרז היה הבא, ב 2002 כבר השתחררתי מהצבא והייתי סטודנט בטכניון, אבל מור, שהיה קצין בפלוגה שלי, המשיך הלאה בדרגות. עד שיום אחד, בעת התקלות בעזה, המחבלים הרגו אותו, ואז ביצעו וידוא הריגה ואז חוררו אותו עוד קצת בשביל הכיף.

שנה מאוחר יותר, גיליתי שגם במילואים, אתה לא חסין. עמי כהן נהרג כאשר כוח מפלוגת המילואים שלי יצא למעצר של מבוקש. עלי עלאן הסתתר מאחורי דלת ותפר אותו בעת ניסיון מעצר. אותו עלי עלאן אגב היה עצור בישראל בשנים 94-99, ושוחרר מהכלא בעקבות הסכמים עם הפלסטינאים, באופן לא מפליא בכלל הוא חזר לטרור והיה אחראי לתכנון מספר פיגועים גדולים בהם נהרגו כמה עשרות ישראלים (חיפה – 17, צומת פת בירושלים – 19, קריית מנחם – 12)

ובכל זאת, פעם בשנה (לפחות) אני עושה פאוז לחיים שלי, מחליף משרד עם מחשב ומזגן בשכפ"ץ קרמי וג'יפ ממוגן. אני לא שם כי אני רוצה להיות שם, אני שם כי מישהו צריך להיות שם. כי לא משנה כמה פנאטים הזויים שמשוכנעים שאני סוג של פושע מלחמה יזעקו, בסופו של יום מישהו צריך להיות שם במחסום כדי למנוע מחגורת הנפץ להגיע לישראל, ומישהו צריך לבצע את המעצר כדי שהמחבל שאמור היה להתפוצץ בישראל לא יגיע אליה. ומישהו צריך לעשות את המארב ההוא בהרי ירושלים כדי לתפוס את אותו מחבל בדרך לישראל.
וזה עובד וזו הסיבה העיקרית שכמות פיגועי ההתאבדות בישראל ירדה פלאים. לא החומה ולא "הסכמים" או רצון לשלום – אלא עבודה קשה ומאומצת של מודיעין ולוחמים שעוצרים את הפיגוע הבא עוד לפני שהוא קרוב להיות פיגוע.

יש אנשים שמתנדבים למילואים, אני מסופק אם אני אעשה את זה. ביום שבו יגידו לי תודה, אתה משוחרר קרוב לוודאי שאני אקום ואלך מבלי להסתובב לאחור. גם כך, בשנים האחרונות, מאז שיש לי אישה וילדה, כל תקופה כזו מלווה בהרבה יותר פחד, חשש ודאגה.

ויש את גלעד, שבדיוק כמוני נשלח על ידי המדינה לבצע משימה. הוא לא התנדב, צה"ל הוא לא צבא מקצועי אלא צבא גיוס חובה. הוא נחטף מתוך שטח מדינת ישראל, והוחזק בשבי במשך 5 שנים מבלי לראות עורך דין, משפחה, או אפילו נציג של הצלב האדום או כל גוף אחר. והנה פה צובט הלב, כי מצד אחד, לו הייתי במקומו, הייתי רוצה שמדינת ישראל תעשה כל שביכולתה כדי לשחרר אותי. אנחנו יכולים לדבר עד מחר אם המחיר הוא גבוה או נמוך, האם 20 מחבלים יותר או פחות זה מה שיעשה את ההבדל, אבל בסופו של דבר, כלום לא היה מעניין אותי מלבד לדעת שהמדינה ששלחה אותי בשמה, תיקח את האחריות להחזיר אותי.

ומצד שני, 1000 המחבלים הללו יחזרו אל שורות החמאס, הם לא מביעים חרטה, אין להם סיבה, הם חוזרים כגיבורים. ואחרי שהחגיגות יגמרו, הם ירדו אל מתחת לרדאר ויתחילו לתכנן את הפיגוע הבא, את חטיפת החייל הבאה, את מתקפת הגראדים הבאה או כל דבר אחר.

השאלה היא לא האם העיסקה הזו תעלה לנו בחיי אדם, השאלה היא מתי זה יקרה וכמה אנחנו נשלם. וזו, שאלה קשה מאוד עם תשובה כואבת עוד יותר.

ועדיין, איפה עובר הגבול? אם משחררים מחבל אחד אז מדוע לא 2 ואם 2 אז מדוע לא 4. ואולי בכלל עדיף לנו לנקות את בתי הכלא שלנו מהמחבלים?

מה המסקנה? אין לי בשלב הזה, אני שמח בשביל משפחת שליט שמקבלת את הילד שלהם בחזרה אחרי 5 שנים, ומצד שני אני קורא את הדברים שאומרים אנשים שקרובי משפחתם נרצחו על ידי מחבלים שהיום משוחררים וכואב לי גם בשבילם.

ובכל זאת, אני עולה ללבנון בקרוב, לאותו מקום שבו נחטפו אלדד ואהוד לפני 5 שנים, למקום שהוא כל כך יפה ופסטורלי אבל יכול ברגע אחד להתפוצץ לך בפנים.

לדרג את הפוסט
0

הפוסט ברוך שובך גלעד – מחשבות לא סדורות פורסם על ידי ~ניצן~ בבלוג המכללה

]]>
https://n2b.org/archives/2263/feed 2 2263
iכזבה? לגמרי מהלך עיסקי https://n2b.org/archives/2252 https://n2b.org/archives/2252#comments Wed, 05 Oct 2011 19:05:25 +0000 http://n2b.org/?p=2252 ההייפ סביב אירוע ההשקה של אפל אתמול וההתרגשות לקראת ההכרזה המצופה על האיפון 5 מזכירה את הבדיחה על העארס שמתאבד על ידי קפיצה מהאגו לאיקיו. אנשים כל כך ציפו לבואו של האיפון 5 והרשת הוצפה בשלל ספקולציות לגבי המכשיר החדש – ולבסוף – אפל הכריזה על ה 4S ואיכזבה את כולם. הציפיות השתנו מאדם לאדם, […]

הפוסט iכזבה? לגמרי מהלך עיסקי פורסם על ידי ~ניצן~ בבלוג המכללה

]]>
ההייפ סביב אירוע ההשקה של אפל אתמול וההתרגשות לקראת ההכרזה המצופה על האיפון 5 מזכירה את הבדיחה על העארס שמתאבד על ידי קפיצה מהאגו לאיקיו. אנשים כל כך ציפו לבואו של האיפון 5 והרשת הוצפה בשלל ספקולציות לגבי המכשיר החדש – ולבסוף – אפל הכריזה על ה 4S ואיכזבה את כולם.

הציפיות השתנו מאדם לאדם, סרטוני קונספט מופרכים יותר ופחות הסתובבו ביוטיוב ומעל לכל המקהלה המגוחכת הזו ניצחה ה"תקשורת" עם שלל מאמרים שריכזו את שלל השמועות כאילו היו מקורות מידע מהימנים. האמת, שכל מי שמסתכל על ההתנהלות של אפל בשנים האחרונות היה אמור להבין שאין שום מצב שאפל תחשוף את האיפון 5, לא בשלב הזה. האיפון 4S הגיע כי זו הטקטיקה של אפל מאז האיפון הראשון, כי זה בדיוק הזמן בשבילו.

כשיצא האיפון הראשון, הוא נמכר עם תג מחיר של 500-600 דולר (8 – 4 ג'יגה), חודשיים לאחר ההשקה, כאשר הרגישה אפל שמיצתה את שוק המאמצים המוקדמים הורידה החברה את מחיר המכשיר ב 200$. הלקוחות שכבר קנו את המכשיר היו ממורמרים וכעסו (ובצדק) וסטיב אפילו טרח להתנצל והציע פיצוי של 100$ בחנות של אפל.

האיפון הראשון הוחלף על ידי האיפון השני שנקרא גם iPhone 3G. הסיפרה 3 לא הגיעה מהיותו השלישי אלא כציון על העובדה שבניגוד לאיפון הקודם שפעל על רשת ישנה, האיפון השני עובד על רשת ה 3g. עברה לה שנה נוספת והינה שוב כנס השקה. הפעם אפל הציגה את האיפון 3GS – אותו עיצוב, אותה ניראות, רק יותר מהיר.
האיפון הרביעי הוא אכן האיפון הרביעי בסידרה, אבל הוא גם הראשון שנשא מספר שמייצג את מספרו בתור. האיפון הראשון שווק כאיפון והכינוי "הראשון" הוצמד לו רק בדיעבד כאשר אפל הציגה את ממשיכיו. האיפון השני מעולם לא נקרא השני וגם השלישי שאכן נשא את הסיפרה 3 בשמו, עשה זאת רק כי הוא גירסה משודרגת של הדגם הקודם.

וכך, שנה לאחר מכן (למעשה שנה ושלושה חודשים) שוב טקס השקה ואם אחרי ה 3G בא ה 3GS הרי שאחרי ה 4 צריך לבוא ה 4S – הגירסה ה"מחוזקת" של האיפון הרביעי.

המחשבה הנפוצה היא שאפל מוציאה כל שנה דגם כדי שמעריציה המושבעים ישדרגו את הדגם שבידם, אבל למעשה, מלבד קומץ פנאטים בעלי כיס עמוק מספיק, לא כך הדברים מתנהלים. בארה"ב (בדומה לישראל) המכשירים נמכרים במחיר מסובסד אצל המפעילות ביחד עם חוזה לשנתיים. זה אומר שאנשים שקנו את האיפון 4 עדיין לא סיימו את החוזה שלהם, אבל אלו שעדיין מחזיקים במכשירי ה 3GS (והקומץ שעדיין מחזיק ב 3G) כבר מוכנים ומזומנים לרכוש מכשיר חדש של אפל.

איפון 4S פה לא כי באפל לא רוצים לעשות את האיפון 5 המהולל. איפון 4S פה כי יש עדיין נתח שוק פוטנציאלי ענק של אנשים שיקנו אותו כשלב עד שיצא האיפון 5. אפל יודעת שכשיצא האיפון 5 יבוא גל עצום של קונים, אבל רגע לפני שאלו מסתערים, למה לא, בדיוק כמו עם האיפון הראשון, לעשות קופה על אלה שעוד לא הבינו את זה?

אפל איכזבה? רק את מי שלא למד מלקחי העבר.

לדרג את הפוסט
0

הפוסט iכזבה? לגמרי מהלך עיסקי פורסם על ידי ~ניצן~ בבלוג המכללה

]]>
https://n2b.org/archives/2252/feed 2 2252
תגית contenteditable – ישומים פרקטיים https://n2b.org/archives/2192 https://n2b.org/archives/2192#respond Mon, 15 Aug 2011 08:22:15 +0000 http://n2b.org/?p=2192 מערכות ניהול תוכן הן כלי מצויין כשצריך לתחזק אתר גדול, אבל מה עושים כשצריכים לתחזק אפליקציה זעירה? בעזרת אלמנטים של html5 ו javascript אפשר להחליף את מערכת הניהול המסורבלת בעידכון פשוט

הפוסט תגית contenteditable – ישומים פרקטיים פורסם על ידי ~ניצן~ בבלוג המכללה

]]>
אחת הברכות החביבות ביותר שקיבלנו תחת המטריה של HTML5 היא תגית ה contenteditable. את התגית הזו, ניתן לצרף לכל אלמנט בעמוד HTML ובכך להפוך את האלמנט לבר עריכה. השימושים הפרקטיים הם רבים החל ממערכת ניהול תוכן בסיסית שמאפשרת למשתמש בדרגת עורך לשנות את הטקסטים בעמוד מבלי כל הסירבול של חיפוש בפאנל הניהול, וכלה באפליקציות מבוססות דפדפן שהמשתמש יכול לשנות ולערוך את הטקסטים בתוכן בעצמו מבלי לבצע שליחה של טופס והמתנה לתשובה.

הערה: המאמר הזה מכיל דוגמאות חיות להתנסות בתוכו. אם אתם קוראים אותו מתוך קורא RSS או בתוך פייסבוק, כל החלק הכיפי לא יעבוד ואני ממליץ ללחוץ כאן כדי לקרוא את המאמר בצורה מהנה יותר.

את תגית ה contenteditable פשוט מוסיפים לאלמנט ביחד עם הערך true. כך למשל קוד ה html הבא:

<p contenteditable="true">הנה תראו, לחצו על הטקסט הזה ושנו אותו</p>

יניב את התוצאה הזו:

הנה תראו, לחצו על הטקסט הזה ושנו אותו

כמובן, שאנחנו לא מוגבלים רק לפסקאות (אגב, מי שיציץ לקוד אחרי שהוא יזין טקסט יגלה שאם הוא ניסה להוסיף פסקאות בתוך הפיסקה הוא יקבל div כדי להפריד בין בלוקי הטקסט) ולמרבה השמחה את התגית הזו ניתן להחיל על כל אלמנט HTML. כך למשל, אפשר לטפל ברשימה:

<ul class="testzone" contenteditable="true">
	<li>אלמנט ראשון</li>
	<li>השתמשו באנטר כדי להוסיף אלמנטים</li>
</ul>
  • אלמנט ראשון
  • השתמשו באנטר כדי להוסיף אלמנטים

התגית contenteditable היא תגית מורישה, זה אומר שאם נרצה להכיל מצב עריכה על מאמר מלא במקום להוסיף לכל אלמנט p (פיסקה) את התגית הרלוונטית, אפשר יהיה להוסיף את התגית הזו פעם אחת באלמנט העוטף את כל המאמר ובכך לאפשר עריכה של הטקסט בתוכו.

<div class="testzone" contenteditable="true">
	<p>הנה איזור המשחקים אפשר להוסיף פה פסקאות ללא גבול בעזרת אנטר</p>		
</div>

הנה איזור המשחקים אפשר להוסיף פה פסקאות ללא גבול בעזרת אנטר

לרוע המזל, אם תרעננו את העמוד כרגע, כל התוכן שהזנתם אל תוך איזורי העריכה יעלם והתוכן המקורי שלי יופיע. התגית contenteditable כשלעצמה, לא מספיקה כדי לשמור מידע ואנחנו זקוקים לקצת מקסמי הג'אווהסקריפט כדי לחולל את הקסמים האמיתיים.

ישומים פרקטיים

כדי שהמידע ישמר אנחנו צריכים מקום לשמור אותו, זה יכול להעשות באתר עצמו, בצד השרת או על המחשב של המשתמש – בצד הלקוח. ההבדל הוא כמובן שאם נשמור את המידע בצד השרת כל שינוי יופיע עבור כלל המשתמשים בעוד שאם נשמור את המידע בצד לקוח הוא זמין רק למשתמש המקומי.

במשך תקופה מאוד ארוכה חיפשתי ישום משימות שיאפשר לי לייצר איזושהי רשימת משימות יומית. איכשהו, בסופו של יום אני תמיד חוזר אל המחברת והעט, עדי לעומת זאת פשוט מחזיקה מסמך וורד שאותו היא מעדכנת. אבל, הנה דוגמא מצוינת ליישום משימות קטן מבוסס דפדפן שיאפשר לכם להוסיף לעצמכם משימות ולמחוק אותן. אפשר להרחיב אותו בלי סוף כמובן אבל אני אשאר פה עם המינימום.

לצורך שמירת הנתונים, אני אשתמש בזיכרון של הדפדפן בעזרת מנגנון ה localStorage, המנגנון הזה נתמך באקספלורר 8 ומעלה, בפיירפוקס 3.5 ומעלה ובכרום / ספארי מגירסה 4 ומעלה. לגירסאות קודמות יותר, יש כלים שונים ומי שמעוניין לשבור את הראש על תאימות אחורה ברכותי.

לצורך הדוגמא ניצור מסמך html חדש שמכיל אך ורק אובייקט ol (רשימה ממוספרת) ונכניס לתוכו שני אלמנטים התחלתיים.

<ol id="tasks" contenteditable="true" onblur="savedata()">
	<li>משימה ראשונה</li>
	<li>משימה שניה</li>
</ol>

כפי שניתן לראות, שייכתי פונקציה בשם savedata לאירוע blur – שזה אירוע שבו הפוקוס עוזב את האלמנט – למשל, ברגע שהקלקנו עם העכבר אל מחוץ לאיזור העריכה או לחצנו על כפתור ה tab.

var tasks = document.getElementById('tasks');
function savedata() {		
  localStorage.setItem('mytasks', tasks.innerHTML);	 
}; 
if (localStorage.getItem('mytasks')) {
 tasks.innerHTML = localStorage.getItem('mytasks');
}

השורה הראשונה, מגדירה את האלמנט לו אנחנו מאזינים. קרוב לוודאי שבאפליקציה אמיתית נשתמש בספריה כגון jQuery ואז נוכל לחסוך את המשתנה הזה, מצד שני, נוכל גם לחסוך את ה onblur בתוך הקוד. כאמור, ניסיתי להישמר פה למינימום הנדרש.
ישר לאחר הגדרת המשתנה נמצאת הפונקציה savedata שאחראית על השמירה. כל מה שהפונקציה הזו עושה היא לשמור את קוד ה html הפנימי של הרשימה אל תוך משתנה בשם mytasks במנגנון ה localStorage של הדפדפן.
בנוסף לפונקציה והגדרת המשתנה, יש לנו גם בדיקה שרצה בזמן הטעינה של העמוד. הבדיקה הזו מחפשת את mytasks במנגנון ה localStorage ואם היא מוצאת אותו, היא מעדכנת את התוכן של האובייקט.

היתרון הגדול פה – גם אם סגרתם את הדפדפן בטעות, או ריעננתם את העמוד, התוכן האחרון שהזנתם הוא תמיד התוכן שיוצג.

אפשר לשחק עם דוגמה פעילה כאן, וכמובן הנה הקוד המלא:

<!DOCTYPE>
<html>
<head>
	<title>Tasks</title>	
</head>
<body>
	<ol id="tasks" contenteditable="true" onblur="savedata()">
		<li>משימה ראשונה</li>
		<li>משימה שניה</li>
	</ol>
	<script>	
		var tasks = document.getElementById('tasks');
		function savedata() {		
		  localStorage.setItem('mytasks', tasks.innerHTML);	 
		}; 
		if (localStorage.getItem('mytasks')) {
		 tasks.innerHTML = localStorage.getItem('mytasks');
		}
	</script>	
</body>
</html>

כאמור, המידע נשמר על הדפדפן וזה אומר שאם תיכנסו אל הישום מדפדפן אחר או תמחקו את נתוני הגלישה שלכם המידע הזה יאבד ואתם תקבלו את הרשימה המקורית. כמו כן, היות ומדובר במידע שיושב בדפדפן שלכם, כמובן שאיש לא יוכל לראותו.

אבל מה קורה אם אנחנו כן רוצים לשמור את המידע הזה על שרת מרוחק? במקרה שכזה, נזדקק גם ל ajax על מנת לעדכן את המידע על השרת. את התוכן של savedata מהדוגמא הקודמת נחליף בשליחת מידע באמצעות post אל קובץ php שיושב על השרת שלנו. קובץ ה php יחזיק את הפונקציונאליות הרצויה (שמירה למסד נתונים, שמירה לקובץ טקסט, החלפת מילים או כל דבר אחר שתרצו). בנוסף, קובץ האפליקציה כבר לא יוכל להיות עמוד html פשוט כפי שהיה בדוגמא הקודמת ונזדקק לקובץ php שידע למשוך את המידע שאוכסן על השרת.

מה אפשר לעשות עם זה? החל ממערכת ניהול משימות מתוחכמת יותר (כך נוכל לגשת אליה מהמחשב, מהסלולר ומהנייד) דרך תיקון שגיאת כתיב בכתבה ב ynet (על ידי עורך כמובן) וכלה במערכת ניהול תוכן שלא מכילה אדמין וכל העריכה מתבצעת על התוכן החי.

אזהרה
חשוב לקחת בחשבון (וזו בדיוק הסיבה שבגינה לא העלתי דוגמא חיה לשרת כרגע) שברגע שאנחנו נותנים למשתמש אפשרות לכתוב מידע אל השרת אנחנו לוקחים סיכון. אם אנחנו כותבים מידע אל מסד הנתונים ואנחנו לא בודקים את הקלט מסד הנתונים יכול ליפול קורבן לידיים זדוניות. אם מתבצעת כתיבה אל קובץ בשרת, הרי שמפתח זדוני יוכל להשיג בקלות גישה אל קבצים אחרים בתיקיה ולגרום לנזק. בקיצור – למרות שאפשר להשתמש בישום שכזה, מומלץ לבדוק טוב טוב את הקלט על מנת להימנע מטעויות יקרות.

לדרג את הפוסט
0

הפוסט תגית contenteditable – ישומים פרקטיים פורסם על ידי ~ניצן~ בבלוג המכללה

]]>
https://n2b.org/archives/2192/feed 0 2192
הקשיחו את אבטחת הבלוג שלכם https://n2b.org/archives/2172 https://n2b.org/archives/2172#comments Sun, 07 Aug 2011 09:06:25 +0000 http://n2b.org/?p=2172 אין דבר מבעס מלגלות שהאתר שלכם למטה, הנה מספר כלים שאם תשתמשו בהם נכונה תקטינו את הסיכוי שהאתר שלכם יפרץ ותגבירו את האבטחה שלו.

הפוסט הקשיחו את אבטחת הבלוג שלכם פורסם על ידי ~ניצן~ בבלוג המכללה

]]>
אם אתם חושבים שאין דבר מבעס יותר מאשר להיכנס לאתר שלכם ולגלות שהוא הושחת או נפרץ אתם טועים. הדבר המבעס יותר, וזה בדרך כלל מה שיקרה כי מרפי מניאק, זה לקבל SMS או מייל מחבר כשאתם בנסיעה / טיול / מילואים / אוהל ששואל אתכם אם אתם יודעים שהאתר למטה ולכם – אין שום דבר לעשות בנידון.

יש שני גורמים שיכולים לגרום לכך שהאתר שלכם יושחת. הראשונה, תלויה באיכות של ספק האיחסון שלכם (וכבר כתבתי את דעתי על איחסון אתרים בישראל) ואם זה רשלן הרי שהדבר היחיד שאתם יכולים (וצריכים) לעשות זה לעזוב אותו. השני, זה הדרך שבה אתם התכוננתם מראש למצב שכזה.

הרבה פעמים אני שומע את המשפט "למה שמישהו ירצה לפרוץ לי לאתר" והתשובה היא לרוב – כסף אם כי בהיותנו ישראלים מדי פעם זה גם מגיע בגלל אג'נדה. כך למשל בקבוצת התמיכה של וורדפרס בעברית היה דיון שפתח בחור שהריץ אתר צפיה ישירה מבוסס ורדפרס. בעל אתר מתחרה, ככל הנראה, נהג לפרוץ אל האתר שלו על בסיס יומי ולמחוק לו את כל התוכן. סיבות אחרות יכולות להיות SEO מצידו המלוכלך, וירוסים ועוד רבות ומגוונות. עם הזמן, קמו תוכנות שסורקות את האינטרנט, מוצאות את הפירצות הרצויות ומנצלות אותן כדי להכניס את התוכן הרצוי להן. כל זאת נעשה כמעט ללא מגע יד אדם מלבד ההגדרות הראשוניות.

איך זה עובד
שלב ראשון – איתור
מפתחי הערכות של וורדפרס נוהגים להכניס לפוטר של האתר את המשפט "Powered by WordPress" – זהו משפט די סטנדרטי שמופיע בתחתית של כמעט כל אתר וורדפרס באנגלית ורץ לרוב בגירסה זו או אחרת גם בעברית. חיפוש של המשפט הזה בגוגל כשהוא תחום בתוך מרכאות (חיפוש אחר צירוף מדוייק) ביחד עם מילות חיפוש רלוונטיות יניב רשימה ארוכה של קישורים לאתרים מבוססי וורדפרס המתעסקים בנושא הרצוי.
במקרה שלנו, התוכנה מקבלת רשימה של מילות מפתח ומריצה אותה אל מול גוגל כדי לקבל את אותן הרשימות.

שלב שני – בדיקה
עכשיו כשיש לנו את רשימת האתרים, צריך לראות מה אפשר לעשות איתם. מלבד הבדיקות הרגילות כגון בדיקות PR, זמן החיים של הדומיין ודומיהם, מציצה התוכנה אל מתחת למכסה המנוע – אל הקוד עצמו ומחפשת חתימות שהיא יודעת לזהות ומאפשרות "פריווילגיות מובחרות".
כך למשל, מופיעה בקוד התגית generator שמכילה את מספר הגירסה של וורדפרס. אם הגירסה שלכם אינה מעודכנת יופיע שם מספר הקטן מ 3.2.1. מלבד ההתקדמות הרגילה בגירסאות של וורדפרס (וזה ה 3.2) יש גם עדכוני "תיקונים" (זה ה 1 שבסוף). העידכונים הללו מכילים בד"כ תיקונים לפרצות אבטחה. זה אומר, שאם אינכם בגירסה האחרונה, קרוב לוודאי שיש לתוכנה הסורקת ידע על פירצות האבטחה של האתר שלכם והיא תוכל לנצל אותה לשימושה.

שלב שלישי – ניצול
המקרה הפחות קריטי הוא מתקפת של תגובות ספאם הממתינה לאישור, המקרה הגרוע יותר הוא הכנסה של קוד זדוני אל תוך האתר, דבר שיכול לגרום לכך שגוגל יקפיצו אזהרה בפני הגולשים בכל כניסה כי מדובר באתר נגוע שיכול להיות מסוכן למחשב שלהם.

אז מה עושים

סיסמא, סיסמא, סיסמא
השם של החתול שלכם זו לא סיסמא טובה, גם לא שם החברה בצירוף 123 בסוף. בחרו סיסמא קשה המכילה אותיות, מספרים וסימנים ולכל הפחות 8 תווים. אתם יכולים להשתמש באתר הזה כדי לייצר סיסמא חזקה.

מפתחות אבטחה של וורדפרס
בקובץ ה wp-config ישנם 8 מפתחות יחודיים המשמשים את וורדפרס לזיהוי ואימות הנתונים. רוב הזמן, אין כל צורך להחליף אותם שהרי הסיכוי שמישהו ינחש אותם (מבלי לקבל גישה אל הקובץ) הוא אפסי. אבל לפעמים, מתעורר החשד שיש מישהו שמציץ לכם למערכת.
אם לצורך הדוגמא התחברתם ממחשב ציבורי (ספריה, אינטרנט קפה וכ') ושכחתם לבצע התנתקות מהמערכת משתמש אחר יכול להיכנס לחשבונכם ולחטט בפנים. החלפה של המפתח LOGGED_IN_KEY למשל תפיל את עוגיית האימות שלו והוא לא יוכל להיכנס.

הישארו מעודכנים
ההודעה הזו לשדרג גירסה לוורדפרס או לתוספים – היא לא סתם, יש לה סיבה. נכון שזה לא תמיד נוח ואין כאב ראש גדול יותר מאשר להתחיל שידרוג בשעת לחץ ואז להיתקע מול שידרוג כושל, אבל זה תמיד יותר פשוט מהתאוששות מפריצה בדיעבד. שדרגו את הוורדפרס שלכם ושדרגו את התוספים שלכם.

היפטרו מקבצים לא נדרשים
פעמים רבות אנשים מתקינים על גבי וורדפרס עשרות ערכות ותוספים. במקרה הטוב, אותם אנשים טורחים לכבות תוספים שהם לא זקוקים להם, אבל כבר יצא לי לפגוש התקנות שבהם יותר מ 30 תוספים פעילים, רובם בעל כפילות כזו או אחרת. היות ותוספים נכתבים על ידי הקהילה ולא כולם כתובים בצורה אופטימלית, אתם עלולים לגלות שתוספים מסוימים עושים לכם צרות במערכת. פעמים רבות, אפילו לא תדעו במי מדובר ותאלצו לכבות אחד אחרי השני.
התקנתם תוסף? הוא לא עובד כפי שאתם מצפים ממנו? מחקו אותו, אין שום צורך שישב על השרת. אותו כנ"ל לגבי ערכות עיצוב – אם אין לכם צורך בהן, מיחקו אותן. למפתח מוכשר (וזדוני) אין שום בעיה להכניס קוד מתאים שייצר לו משתמש עם הרשאות ניהול אל תוך קבצי הערכה.

התקנה ממקורות בטוחים
הרבה פעמים אנחנו מחפשים תוסף שיבצע פעולה ספציפית ולא מוצאים אותו דרך הקודקס. הפיתרון הוא גוגל שלפעמים באמת יחזיר תוסף רלוונטי בתוצאות.
הבעיה היא, בדיוק כמו בסעיף הקודם, הסכנה לדלת אחורית. במילים אחרות – אם אינכם בטוחים במהימנות המקור, אל תתקינו את התוסף או הערכה.
אם יש לכם הבנה בקוד, הציצו על הקוד של התוסף, ישנם כמה דגלי אזהרה כשהנפוץ בהם הוא מחרוזת ארוכה כגון "tjbnEnZGtmdHQ6JWRrYgIFZnUlOTsoAUA5DQ4ODQ4". לרוב, ניתן למצוא את הטקסט הזה בתוך ערכות עיצוב, בקובץ ה footer.php זה משמש להכנסה של לינקים ממומנים אל תוך העמוד בצורה שתקשה על משתמש לא מנוסה להסירה. מלבד זאת, זה יכול לשמש גם כדי להכניס קוד זדוני ואם אתם רואים דבר כזה – מומלץ להתרחק.

הרשאות
וורדפרס מצוידת בעורך קוד המאפשר לעדכן את הקוד של התוספים והערכות שלכם. זה כמובן מצריך שלוורדפרס תהינה הרשאות כתיבה לקבצים. אם אתם מסוג האנשים שמעדכנים קוד דרך העורך הזה, הרי שאתם זקוקים לזה. אם אתם משתמשים ב ftp או ssh או לחילופין זהו אתר שבניתם עבור לקוח – אין שום סיבה שתהיה לוורדפרס הרשאות שכתוב לקבצים. ההרשאה של קבצים צריכה להיות 644. בכל מקרה, אם אתם מעוניינים לערוך את הקבצים דרך עורך הקוד, הקפידו על הרשאה 666 ולא 777. כנ"ל לגבי תיקיות – תיקיות צריכות להיות עם הרשאה 755.
הפירוש של 777 – כל משתמש שיש לו גישה לשרת יכול לשנות את הקובץ, כאשר השרת לא מקונפג נכון (כפי שכבר ראיתי בלא מעט מקרים) פורץ אקראי שמשיג גישה אל תיקיה כלשהי בשרת, אפילו של משתמש אחר, יכול לגשת אל הקבצים שלכם ולשנותם.

הסרת חותמות
כאמור, וורדפרס מוסיפה חותמת בשם generator המכילה את מספר הגירסה. זה לא משהו שמופיע בערכה עצמה אלא מתווסף אל הקוד באמצעות הפונקציה wp_head. חותמות נוספות שכדאי להסיר הן קישור ה RSD וה wlwmanifest. אפשר לעשות זאת בקלות על ידי הוספה של השורות הבאות אל קובץ functions.php של ערכת העיצוב. (אם אין לערכה קובץ כזה, אפשר ליצור אותו לבד בעזרת עורך טקסט)

remove_action( 'wp_head', 'wp_generator' );
remove_action( 'wp_head', 'rsd_link' );
remove_action( 'wp_head', 'wlwmanifest_link' );

הגבלת גישה אל האדמין
הטיפ הזה לא יעזור לרוב המשתמשים לצערי והוא רלוונטי בעיקר עבור אלו מאיתנו שיש להם כתובת IP קבועה ומשתמשים רק בה כדי לעדכן את הבלוג שלהם. מצד שני, אם אתם חברה שמעניקה שלל שירותים ללקוחותיה ובין היתר גם תחזוקת בלוג – הרי שהטיפ הזה יכול להיות שימושי.

כל שיש לעשות זה ליצור קובץ .htaccess חדש (הנקודה בתחילת השם ולא בסופו) ולהכניס לתוכו את השורות הבאות:

order deny,allow
deny from all
allow from XX.XX.XXX.XXX
allow from XX.XX.XXX.XXX

את XX.XX.XXX.XX יש להחליף כמובן בכתובת ה ip שלכם ואת הקובץ יש לשמור בתיקיית wp-admin. אומנם, לרוב המשתמשים הביתיים כתובת ה IP אינה כתובת קבועה אבל היות והאינטרנט מחובר בד"כ ללא הפסקה הרי שכתובת ה IP שלכם איתכם למשך הרבה זמן. אם לא אכפת לכם לעדכן פעם בזמן מה את הקובץ הרי שגם אתם יכולים להשתמש בתרגיל הזה. כמובן שזה לא כלי שימושי לאלו מאיתנו שמעדכנים מהדרכים, ממחשבים מזדמנים וכדומה.

אבטחו קבצים חשובים
הקובץ הכי חשוב והכי מסוכן בהתקנה של וורדפרס הוא ה wp-config. זהו קובץ שמכיל את כל המידע הנדרש כדי להתחבר אל מסד הנתונים שלכם.
הוספה של השורה הבאה אל קובץ ה htaccess תספק שכבת אבטחה נוספת עבור הקובץ הלז:

<Files wp-config.php>
order allow,deny
deny from all
</Files>

גיבויים
גבו את מסד הנתונים שלכם לפחות פעם בשבוע או על בסיס תדירות העדכונים (אין צורך בגיבוי שבועי עבור אתר המתעדכן פעם בשנה). אם ספק האיכסון שלכם תומך ב cron אתם יכולים להשתמש במדריך או להשתמש בתוסף יעודי. כמובן שרצוי לגבות גם את תיקיית wp-content.

לסיכום
בצבא אומרים שקו ההגנה לעולם יפרץ, וזה בד"כ נכון – אם יש לכם יריב עסקי שמעוניין להסיר את האתר שלכם מהאוויר הרי שהוא יוכל לעשות את זה בקלות. אבל עבור הבוט הבסיסי שמחפש פרצות אבטחה מוכרות – נקיטה בצעדים המוגדרים פה יגנו לרוב על האתר שלכם.

רעיונות וטיפים נוספים יתקבלו בברכה.

לדרג את הפוסט
5

הפוסט הקשיחו את אבטחת הבלוג שלכם פורסם על ידי ~ניצן~ בבלוג המכללה

]]>
https://n2b.org/archives/2172/feed 5 2172
זה לא האיפון, זה התפוח https://n2b.org/archives/2149 https://n2b.org/archives/2149#comments Sun, 19 Jun 2011 14:23:06 +0000 http://n2b.org/?p=2149 בספטמבר של 2003 ניגש בחור אמריקאי בשם קייסי אל סניף האפלסטור במנהטן עם נגן האיפוד (דור ראשון) שלו. הבעיה של קייסי הייתה שהסוללה, אחרי טעינה, לא הצליחה להחזיק מעמד יותר משעה. הבעלים של כל נגן אחר פשוט היה מחליף את הסוללה בשלב הזה, אבל קייסי, שלא רצה לאבד את האחריות על האיפוד שלו נאלץ לגשת […]

הפוסט זה לא האיפון, זה התפוח פורסם על ידי ~ניצן~ בבלוג המכללה

]]>
בספטמבר של 2003 ניגש בחור אמריקאי בשם קייסי אל סניף האפלסטור במנהטן עם נגן האיפוד (דור ראשון) שלו. הבעיה של קייסי הייתה שהסוללה, אחרי טעינה, לא הצליחה להחזיק מעמד יותר משעה. הבעלים של כל נגן אחר פשוט היה מחליף את הסוללה בשלב הזה, אבל קייסי, שלא רצה לאבד את האחריות על האיפוד שלו נאלץ לגשת אל מרכז השירות בהנחה ששם יטפלו בבעיה שלו.
אולי במקום לבזבז כסף וזמן על החלפת סוללה, שאלו אותו נציגי אפל, פשוט תקנה את הדגם החדש יותר? קייסי, שלא ראה שום סיבה למה הוא צריך להיפטר מנגן בן שנה וחצי נתן להם בתמורה את קמפיין ipod dirty secret בו, מלבד סירטון המתעד את השיחה עם נציג אפל, הסתובב קייסי ביחד עם אחיו וריסס על כל הפוסטרים של אפל כיתוב בסיגנון – הסוללה של האיפוד אינה ברת החלפה ומחזיקה מעמד רק 18 חודשים.

הקמפיין הזה תפס תאוצה מהר מאוד ובתוך זמן קצר מאז שהעיתונאות האמריקאית התחילה לסקר את הנושא שינתה אפל את מדיניות החלפת הסוללה לאיפודים והציעה החלפת סוללה בעבור 99$. כן, המדיניות הקודמת הייתה שאפל לא מחליפה סוללה למכשירים שלה אלא במקום זה ממליצה למשתמש לרכוש מכשיר חדש.

לפני קצת יותר משנה, פירסמה אפל את תג המחיר הזה בשנית – עבור החלפה של סוללה למכשירי האיפאד – אגב החלפת סוללה, מדובר בלשלוח את המכשיר שלכם לחו"ל ולקבל במקומו אחד חדש. זה מצוין כשידרוג ב 100$, אבל באמת? אפילו אפל לא מחליפה את הסוללות?

אבל אנחנו בעלי זיכרון קצר ואפילו עם גוגל לקח לי כ 20 דקות עד שהצלחתי להיזכר במספיק פרטים מהסיפור ולאתר אותו. 8 שנים עברו מאז, אבל כשאסף שגיא העיז להגיד משהו לגבי סוללה לאיפון התגובות לעגו לו ולבעלי כל שאר המכשירים שאינם איפון. בראש של המומרים במכשירים שאינם איפון הסוללה אף פעם לא מחזיקה מעמד ולכן הם צריכים להסתובב ביחד עם סוללה רזרבית. בנוסף, התריעו הפאנבויז, סוללה ברת החלפה זה מסוכן, הרי אם המכשיר יפול על הריצפה, הסוללה יכולה ליפול וללכת לאיבוד. אז עד כמה הזיכרון שלנו קצר? שלי החזיק בקושי 8 שנים לאחור, אבל בעלי איפון שכחו שלפני שהאיפון הגיע לשוק כל המכשירים היו בעלי סוללה ברת החלפה וכך גם המצב כיום – איפון הוא המכשיר היחיד שבו, אם תזדקקו להחליף סוללה אתם תקועים. אבל בראש הזה, של מומרי האיפון, טלפון מסורס עדיף על טלפון פתוח.

הסוללה היא כמובן לא המחלה, היא רק תסמין אחד שלה – הגן הסגור של אפל. אפל לא חושבת שאם רכשתם מכשיר אזי הוא שלכם. עבור אפל ברגע שרכשתם מוצר של אפל אתם בבעלותה ואפל תגיד לכם מה מותר לכם לעשות איך, מתי ועם מה. נכון, אנחנו מקבלים את זה לא רק מאפל, נסו למשל לשלוף את הסרטים שהקלטתם מתוך היס מקס או ההוט מג'יק ותגלו שאתם לא יכולים, יתרה מזאת, אם תסיימו את המנוי תגלו שאתם לא יכולים לגשת לתוכן אותו הקלטתם. זו כמובן לא הדוגמא היחידה אבל הרעיון עבר.

בדומה לאיפון, מכשירי אנדרואיד מגיעים כשיכולת ההתקנה שלהם מוגבלת להתקנת תוכנות מהמרקט של גוגל בלבד. בניגוד לאיפון, תחת ההגדרות של המכשיר יכול המשתמש להחליט שהוא מעוניין להתקין אפליקציות גם ממקורות חיצוניים.
היכולת הזו עוררה מספר חנויות אפליקציות חלופיות. חלקן, מחזיקות תוכנות פיראטיות, חלקן האחר פשוט משמשות כאינדקס טוב יותר מאשר המרקט של גוגל (אך את ההורדה מבצעות מהמרקט) וחלקן, כמו החנות של אמאזון מציעה שוק חלופי עם מודל מכירות והפצה שונה.
המרקט של אמאזון למשל, לא יכול להתקיים על האיפון לא בגלל שאין לו ביקוש, אלא בגלל שחברת אפל לא מעוניינת להפסיד את העמלה השמנה שהם גוזרים מהמפתחים. באותה המידה, כאשר אמאזון איפשרה למשתמשי האיפאד לרכוש ספרים ישירות דרך אפליקציית הקינדל שלהם, שינתה אפל את תנאי השימוש שלה כך שהמכירה חייבת להתבצע דרך ישום של אפל, כולל העברת מעשר לאפל כמובן. אפל כמובן נאלצה לחזור בה ברגע שאתרים התחילו לייצר אפליקציות ווב ובכך להגחיך את התנאי המטופש הלז.
מרקט שכזה היה יכול לאפשר למפתחים שהאפליקציות שלהם נדחו על ידי אפל למכור את התוכן שלהם במרקט חלופי. במקום זה, אתם צריכים לפרוץ את האיפון שלכם ולהתקין את סידיה – הלו היא תוכנת מרקט חלופית שמאפשרת מכירה של אפליקציות דחויות (או הורדה של פרוצות). במקום שבו יש דרישה יקומו תחליפים, אבל מדוע המשתמש צריך לעמוד בפני בחירה – מרקט חלופי או אחריות. וכן, בטח יבואו פה פאנבויז ויסבירו לי שמרקט חלופי זה רע, זה מסוכן, יש שם וירוסים – אבל זה קישקוש. ראשית, כי לרובם ככולם מותקנת סידיה על המכשיר, ושנית, ברגע שיש שוק מוסדר שכן עובר ביקורת הסבירות לווירוסים קטנה.

וגם אם פרצתם את המכשיר שלכם והתקנתם סידיה, הגיעה אפל, הוציאה שידרוג למכשיר והנה כל אותם אנשים שעסוקים בלהסביר לי כל היום מדוע הטלפון שלהם הרבה יותר טוב משלי עסוקים בלשרוץ בפורומי האיפון השונים ולשאול מה קורה עם הפריצה הבאה כי הם לא יכולים לשדרג או גרוע מזה, הם ניסו לשדרג והמכשיר ננעל ועכשיו יש להם על השולחן בלוק ב 4000 שקלים.

כן, אין ספק שאפל היא חדשנית ומובילה. אין ספק שההמצאות של אפל מכוונות את השוק בין אם מדובר באיפון או בחלונות 2.0 אבל העיניין הוא לא הטלפון, הוא אף פעם לא היה. סטיב לא טיפש, השיקולים שלו הם לא איך לייצר את הטלפון הכי טוב בעולם, אלא איך לייצר את מסחטת הכספים הטובה ביותר בעולם. ובשביל לייצר מסחטת כספים, אתם צריכים לוודא שאתם מחסלים את התחרות בשוק. במשך שנים מיחלים האיפוניסטים לחריץ SD במכשיר שלהם. כמובן, שהם לעולם לא יודו בזה בקול רם ואפילו יעזו ללעוג לבעלי מכשירים אחרים על "שיטת האיכסון הפרימיטיבית" אבל הם רוצים.
הם לא רוצים את ה SD כי זה יתן להם יותר מקום, בחייכם, בין אם יש לכם 16 ג'יגה או 64 זה לא שחסר לכם מקום באיפון. היתרון ב SD הוא היותו צורת העברה אלטרנטיבית אידיאלית בין מדיות. הוא מאפשר לי להוציא קבצים מהאנדרואיד שלי ולהעביר אותם אל המכשיר שלכם מבלי שתצטרכו לעבור דרך איטיונז למשל. מהסיבה הזו בדיוק אגב, לעולם לא יהיה חריץ SD באיפון, שכן ברגע שזה יקרה, האיפוניסטים עוד עלולים, רחמנא לצלן, עוד לדרוש אפשרות לנגן קבצי mp3 מכרטיס הזיכרון.
במקום כרטיס זיכרון נשלף, תקבלו מסטיב, בגירסה החמישית של מערכת ההפעלה את היכולת לרכוש מחדש את השירים שלכם בעבור 25$ לשנה – מסחטת כספים כבר אמרתי?

ואם כבר מדברים על שירות הענן המהולל של אפל, אני רק רוצה לציין במאמר מוסגר שהיום, כשניסיתי להתחבר לחשבון ענן שלי באמזון גיליתי שהשירות נעול לתושבי ארה"ב בלבד. למה? כי בעוד שלאמזון יש זכויות מכירה על השירים בארה"ב אין לה אפשרות למכור אותם (ככל הנראה) מחוץ לה בגלל הסכמי הפצה. אני לא יודע מה יקרה עם הענן של אפל, אבל יש לי חשש כבד (ובהחלט סביר) שהשירות הזה, בדומה לשירות של אמזון, ינעל את רוב העולם, לפחות בהתחלה, בחוץ. ההבדל הוא, שבעוד שאמזון היא ספק אחד מני רבים במכשירי אנדרואיד, הרי שבאפל אין לכם באמת אפשרויות אחרות.

לדרג את הפוסט
0

הפוסט זה לא האיפון, זה התפוח פורסם על ידי ~ניצן~ בבלוג המכללה

]]>
https://n2b.org/archives/2149/feed 5 2149
מנוי RSS לטלוויזיה שלכם https://n2b.org/archives/2122 https://n2b.org/archives/2122#comments Sun, 05 Jun 2011 08:13:38 +0000 http://n2b.org/?p=2122 נמאס לכם מהוט? יקר לכם היס? הנה המדריך לראות בקלות את כל הסדרות האהובות עליכם בחינם ישר אחרי ששודרו על גבי הטלויזיה שלכם.

הפוסט מנוי RSS לטלוויזיה שלכם פורסם על ידי ~ניצן~ בבלוג המכללה

]]>
לפוסט הזה היה אמור להיות פתיח קצר שמספר איך אנחנו משלמים 300 שקלים בחודש להוט / יס בשביל כלום. איך הסכום הזה מצטבר ל 3600 שקלים בשנה, כל שנה. להסביר למה במציאות של היום מדובר במחיר מנופח ומה אנחנו כצרכנים צריכים לעשות כדי להוריד את המחיר.
אבל הפתיח ההוא הפך לכמעט פוסט בפני עצמו ואני הבטחתי פרוייקט לסופ"ש שילמד כיצד לצפות בכל הסדרות האהובות עליכם בלי מחויבות להוט או יס.

דרישות.
אין פה מערכת נדרשת, רק המלצות. בעיקרון הדרישה היא מחשב, סטרימר ורשת ביתית – וביננו, למי אין היום את אלה? את המדריך אני כותב על בסיס חלונות 7, מי שעדיין משתמש ב XP עלול לגלות שהוא צריך לחפש קצת אחר המידע במקומות אחרים. על משתמשי לינוקס אני סומך שהם כבר יסתדרו בעצמם.

סטרימר – אני מניח שאפשר לקנות איזה סטרימר זול דרך דילאקסטרים או אחד מהאתרים הסינים החשיבות היחידה – שיהיה לסטרימר חיבור רשת פעיל. גם ברשתות הצרכנות השונות יש לא מעט סטרימרים זולים ופשוטים. אישית, מתוך הניסיון שלי, אני ממליץ על האקסטרימר סיידווינדר. מדובר בסטרימר שהוא טיפה יקר (כיום בסביבות ה 700 שקלים ללא כונן קשיח, תוספת של כונן קשיח תעלה לכם עוד כמה גרושים). אין חובה להשתמש באופציה של הכונן הקשיח, אבל מהניסיון שלי, בהחלט מומלץ שכן למרות שאין שום בעיה להגדיר את התיקיה במחשב כתיקיה משותפת ולגשת אליה דרך הרשת הרי שאם אתם מעדיפים תוכן HD תגלו שהרשת לא תמיד עומדת בקצב.
למי שיש קצת יותר כסף הייתי ממליץ להזמין את האקסטרימר אולטרא – פה כבר מדובר במחשב לכל דבר והמחיר בהתאם. במכירה מוקדמת ברשת באג הוא עולה כ 1400 שקלים, בחו"ל תוכלו לרכוש אותו בכ 1200 שקלים.
כך או כך, מדובר בהשקעה כספית ראשונית לא קטנה, אבל אם אתם עושים את הצעד הזה ביחד עם התנתקות מהוט/יס הרי שההשקעה הזו היא לא נוראית.

תוכנה – אני אסביר את השימוש בעזרת Vuse – בעיקר כי זו התוכנה שאני מכיר ועובד איתה, אבל גם בגלל שהיא כתובה ב JAVA ולכן יודעת לרוץ על כל מערכות ההפעלה. חוץ מזה, מלבד היותה תוכנת ביטורנט מעולה, יש לה שלל יתרונות כמרכז מדיה בפני עצמו, ומשתמשי חלונות או מק יגלו שלל פיצ'רים נוספים שלא קיימים בגירסת הלינוקס, אבל אם יש לכם אקסבוקס או פלייסטיישן 3 או אפילו איפאד, בוודאי תגלו שאתם יכולים להשתמש בפיצ'ר הזרמת מדיה ולהפסיק לקרוא כאן.

התקנה והגדרה

שלב א – הגדרות

רשימת המחשבים ברשת
רשימת המחשבים ברשת

אם המחשב שלכם מריץ חלונות 7 והרשת הביתית שלכם מוגדרת נכון, אחרי שתחברו את הסטרימר לרשת ותלחצו על Computer (מה שהיה פעם "המחשב שלי") תגלו בעמודה הצידית את רשימת המכשירים ברשת. בין כל המחשבים אמור להופיע גם הסטרימר שלכם. אחרי שתקישו עליו פעמיים, אמור הסטרימר להופיע בתצוגה הראשית שלכם. בשלב הזה אתם יכולים להציץ לו בכונן אבל מה שאנחנו באמת צריכים לעשות זה למפות אותו ככונן רשת תחת המחשב שלנו. לצורך כך לוחצים על הסטרימר קליק ימני ובוחרים ב"מיפוי כונן רשת" (Map network drive). בחרו אות לכונן וסמנו את תיבת הסימון תחת "Reconnect at logon".

מיפוי כונן רשת
מיפוי כונן רשת

אם עדיין לא הורדתם והתקנתם את Vuse עכשיו זה זמן טוב. בסוף ההתקנה דאגו להגדיר את הפורטים הרלוונטיים בתוכנה ובראוטר שלכם על מנת לנצל את כל פוטנציאל ההורדה.
השלב הבא יהיה להגדיר את מיקומי שמירת הקבצים. הטעות המתבקשת יהיה לשמור את הקבצים אל כונן הרשת החדש שלנו, אבל זו כאמור טעות. בצורת הגדרה שכזו, ברגע שהמחשב יתחיל להוריד קובץ הוא יעמיס, בנוסף לתעבורת ההורדה, גם תעבורה פנימית ברשת בין המחשב לבין הסטרימר. יש לזה פוטנציאל להאט את תעבורת הרשת הביתית שלכם כמו גם להשפיע על מהירות ההורדה שאתם מקבלים. לכן, לאחר שתגדירו ספריה מקומית תחת קבצים (files) בפאנל ההגדרות ( תחת tools->settings או לחיצה משולבת על מקש קונטרול ביחד עם פסיק) גשו אל files -> Completion moving.
האפשרות הזו מאפשרת לנו להגדיר לתוכנה תיקית יעד אליה היא תעביר את הקבצים בתום ההורדה. בשלב הזה נגדיר את היעד ככונן הרשת שהגדרנו (הסטרימר) בשלב הקודם.

העברה בתום הורדה
העברה בתום הורדה

שלב ב – אוטומציה

כמו מספר תוכנות ביטורנט נוספות, גם Vuse יודעת לעבוד עם מנוי RSS. הטכניקה הזו מאפשרת לנו לספק קישור לתוכנה והיא בתורה תעשה בדיקה אחת לתקופה האם יש עידכונים עבור התוכן האהוב עלינו. אם יש עדכון, התוכנה תדע למשוך אותו ולהציג אותו. אותנו פחות מעניין להציג אותו ויותר מעניין שההורדה תתצבע אוטומטית, אבל הרעיון זהה.

יש מספר אתרים שמספקים זרם RSS עבור סדרות, אישית אני הכי אוהב את EzRss הפשוטה והנוחה. כל שיש לעשות זה להקליד את שם התוכנית הרצויה ולקבל את המידע. לצורך הדוגמא, בחרתי את Doctor Who וקיבלתי את הפיד הזה. ברמת העיקרון, EzRss מאפשרים להפעיל כל מיני פילטרים על הפיד ולקבל פיד מצומצם וממוין, הבעיה היא שלעיתים השרתים שלהם מחזירים הודעות שגיאה עבור הפידים הללו ולכן עדיף להוריד את הפיד המלא.

בבר השמאלי של Vuse נמצאים מספר קיצורי דרך, אחד מהם הוא ה Subscriptions המרכז את זרמי העידכונים אליהם נרשמתם. אם תלחצו על כפתור ה + שמופיע לידו יפתח המסך הבא (אם המסך אצלכם נראה שונה, חפשו את כפתור ה Create new subscription בפינה השמאלית תחתונה – הוא יופיע במקום הכפתור Available subscriptions בתמונה):

הוספת תזרים RSS
הוספת תזרים RSS

אל תוך תיבת הטקסט נדביק את קישור ה RSS שקיבלנו מ EzRss ולאחר קריאה קצרה יוצג בפנינו מסך ההגדרות של הפיד שיאפשר לנו לבצע שלל חיתוכים כדי לוודא תוכן איכותי.

הגדרות פילטרים לפיד RSS
הגדרות פילטרים לפיד RSS

כפי שניתן לראות – בצד ימין ניתן להגדיר שלל חיתוכים. היות והתוכן הזה מיועד לטלוויזיה ולא למסך המחשב, אני מעדיף תוכן באיכות גבוהה יותר. לכן, הוספתי את מילת המפתח 720P – שמרמזת על תוכן HD ready – לרוב זה המקסימום שתקבלו עבור סדרת טלוויזיה, אבל אני משוכנע שיש גם פידים שמכילים תוכן של 1080P. הניסיון שלי מלמד שפרקים שהם תוכן HD הם בגודל ממוצע של 1.2 ג'יגה ולכן, הגדרתי חיתוך נוסף על בסיס גודל הקובץ בגודל של 997 מגה עד 2 ג'יגה.
השלב הבא הוא להגדיר שם עבור הפיד בשדה המיועד לשם ולסמן את תיבת הסימון ליד Auto Download. אחרי שתלחצו על Next תישאלו כל כמה זמן תרצו לבדוק עידכונים. היות ואנחנו מדברים פה על סידרה שמתעדכנת פעם בחודש, הרי שבדיקה פעם ב 24 שעות מספיקה.
אחרי שנאשר ונשמור את הפיד נקבל את תצוגת התוכן של הפיד שנראית בערך ככה:
פריטי הפיד
פריטי הפיד

אם לא מדובר בסידרה חדשה שרק עכשיו התחלתם לעקוב אחריה, זה זמן מצויין ללחוץ קליק ימני על שם הפיד ולבחור ב – Mark all results as Read. זה חיוני אם אתם לא רוצים לגלות שהמחשב שלכם ניסה להוריד במשך הלילה את כל חמשת העונות הקודמות של הסידרה. בשלב הזה, אפשר פשוט לסגור את החלון של התוכנה (היא תמשיך לרוץ ברקע כל זמן שלא בחרתם ב File -> Exit ואת האיקון שלה תוכלו למצוא אי שם ליד השעון).

היות והתוכנה אמורה לרוץ כל הזמן ברקע יש פה פוטנציאל לשתיית רוחב פס אדיר. אם לא תטרחו להיכנס אחת לתקופה ולהסיר את הטורנטים הרצים הרי שהם ימשיכו להעלות תוכן כל הזמן. היות וככל הנראה אתם תגבילו את נפח ההעלאה שלכם מצב שכזה עלול לגרום לכך שתוענשו בקצב ההורדה שלכם. לכן, מומלץ להתקין את התוסף Auto Stopper שמאפשר להגדיר יחס הורדה מקסימלי שברגע שתגיעו אליו הטורנט יוסר מרשימת ההורדות שלכם. נכון, התוסף הזה לא יאפשר לכם להגדיר יחס קטן מ 1 (מגה העלאה על כל מגה הורדה) אבל כשחושבים על זה, ככל שיש יותר משתפים מישראל, כך קצב ההורדה שלכם יגדל – זה רק הוגן.

צפיה
זהו, מעכשיו כאמור Vuse תרוץ ברקע ותוריד את הסדרות האהובות שלכם באופן אוטומטי לחלוטין. כשהיא תסיים, היא תעביר את הפרקים הללו ישירות אל תוך הסטרימר שלכם, שוב, באופן אוטומטי לחלוטין. כל שעליכם לעשות הוא לזכור את הימים שבהם הסידרה האהובה עליכם מוקרנת בארץ המקור, רוב הסיכויים שביום המחרת התוכן כבר ישב בסטרימר שלכם ואתם תצטרכו רק ללחוץ על play בשלט.

הערות
אני צופה בסדרות באנגלית ללא כתוביות, לרוב, אין לי בעיה עם אנגלית ואני מסתדר. אבל, אני מניח שלא כולם ככה ויש אנשים שכן זקוקים לכתוביות. לכן אני ממליץ לוודא שהסטרימר שלכם תומך בקבצי כתוביות חיצוניים. לרוע המזל, לפחות עד שיקום פה אתר טורנטים עברי שיכיל גם קבצי תרגום ביחד עם קבצי הוידאו, תאלצו לבצע את ההורדה הזו ידנית.

לסיכום
זהו, יש פה תהליך התקנה ראשוני לא ארוך במיוחד שיאפשר לכם להפוך סטרימר בסיסי לסוג של ממיר שמציג את התוכניות האהובות עליכם. אתם כבר לא תלויים בשאלה האם הספק X ירכוש את סידרה Y ואם אתם מאלה ששוקלים לעזוב לחלוטין את ספק הטלוויזיה שלכם, זה עלול להיות פיתרון מצויין עבורכם.

אישית, אני חושב שיש פה מקום לשירות פרימיום בתשלום, אני מניח שאם היה ערוץ הפצה חוקי שמספק תוכן שכזה בתשלום באופן מוסדר הייתי עושה מנוי, אבל זה לא יקרה כל זמן שיש נושאים כמו "זכויות הפצה". אולי אם יותר ויותר אנשים יתחילו לאמץ את המודל הזה, למישהו באולפנים יפול האסימון. נכון שרוב הסיכויים שהתוכן בסופו ידלוף אל רשתות השיתוף, אבל הוא שם במילא – אז למה לא להרוויח עליו קצת כסף.

לדרג את הפוסט
0

הפוסט מנוי RSS לטלוויזיה שלכם פורסם על ידי ~ניצן~ בבלוג המכללה

]]>
https://n2b.org/archives/2122/feed 11 2122