27
בנובמבר
2009

וורדפרס – עוד כמה מלים על קובץ footer.php מקודד

מאת: מאור ברזני | תגובות: 13 | נושאים: וורדפרס
תגיות: , , |

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

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

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

עד כאן הקדמה, ועכשיו לתוספת. לעתים הקידוד יעשה בקובץ header.php ולא בהכרח ב-footer.php, אם כי לרוב הוא אכן יהיה שם (בגלל שהם רוצים להגן בעיקר על הלינקים האלה..)

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

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

פשוט מוסיפים echo  לפונקציית החישוב:

1
<?php echo eval(base64_decode(" ……    ") ; ?>

לא תמיד זה עוזר

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

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

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

שתפו גם אחרים:
  • email
  • Print
  • RSS
  • Facebook
  • Twitter
  • LinkedIn
  • Google Bookmarks
  • Live
  • PDF
  • MySpace
  • del.icio.us
  • Digg
  • Technorati
  • Yahoo! Bookmarks
  • Yahoo! Buzz
  • Add to favorites

13 תגובות »

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

    זה כבוד בסיסי לדעתי.
    פורסם לאחרונה אצל ליאור שיאון.. ‫המלצות – אנשים בוטחים בחברים וזרים וריטואליים יותר מכל דבר אחר‬ My ComLuv Profile

  • עקרונית אני מסכים איתך. השאלה מה קורה כשאתה פונה ופונה ופונה בבקשות שוב ושוב, אבל אין מענה?

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

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

    זו הגישה שלי – חייה ותן לחיות, ותפרגן לאנשים שמשחררים קוד חינם, אל תפגע בהם.
    פורסם לאחרונה אצל ליאור שיאון.. ‫מבחן פולי קפה – אספרסו של קפהנטו‬ My ComLuv Profile

  • מאת חתול:

    צריך לזכור שאם התבנית שוחררה תחת רישיון gpl או רישיון דומה ורוב התבניות אכן משוחררות תחת רישיון כזה אין אפשרות לאסור על שינויים בתבנית.
    למרות זאת לפעמים הייתי נמנע מהסרת הקישור כי זה לא נראה לי מעשה יפה אבל הייתי שוקל זאת לפי האתר שהקישור מוביל אליו.
    פורסם לאחרונה אצל חתול.. ‫על הבעיות שלי עם אובונטו‬ My ComLuv Profile

  • מאת מטייל:

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

  • מאת zipdrive:

    יש לזכור שלא כל תבנית ששוחררה לשימוש בחינם (ולפעמים בתשלום) היאתחת ההגדרה "קוד פתוח".
    זה כמו freeware – בשונה מ open source
    פורסם לאחרונה אצל zipdrive.. ‫לשחק עם PDF‬ My ComLuv Profile

  • תבנית וורדפרס היא בכל מקרה בקוד פתוח, מאחר שהיא כתובה ב-PHP , ו-PHP היא שפת קוד פתוח..
    עם זאת, זה שזה קוד פתוח, עדיין לא הופך תוכנה כלשהי לחופשית לשימוש.
    בנוסף, ככל הידוע לי (ואני לא משפטן) שחרור תבנית (או כל מוצר שהוא) תחת רישיון GNU משמעותו שאי אפשר לאסור על שינויו ו/או המשך הפצתו החופשית.

  • מאור – קוד פתוח אינו קוד שאפשר לראות אותו – אלא קוד פתוח ברמת הרשיון. לא כל קוד php הוא פתוח – בכלל לא. כנ"ל javascript וכדומה – זה שאתה יכול לראות קוד לא אומר שאתה יכול להשתמש בו כרצונך.

    ואותו הדבר בתבנית – אפשר לשחרר תבנית תחת רשיון gnu או לא – זו החלטה של הכותב.
    פורסם לאחרונה אצל ליאור שיאון.. ‫מבחן פולי קפה – אספרסו של קפהנטו‬ My ComLuv Profile

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

  • @מאור – אני מוכן לגלות שאני טועה, אבל אני לא בטוח – מאיפה המקורות שלך? אני מסתכל כאן – http://en.wikipedia.org/wiki/Open_source ועד כמה שאני רואה אני דווקא צודק. יש קוד פתוח בכל שפה, גם שפות מקומפלות (שם אתה צריך ללכת לאתר ולהוריד את הקוד) – ז"א ששיטת הפצת הקוד (אפשר לראות אותו או לא) לא קשורה להיותו פתוח – אלא הגישה והרשיון.
    פורסם לאחרונה אצל ליאור שיאון.. ‫מבחן פולי קפה – אספרסו של קפהנטו‬ My ComLuv Profile

  • @ליאור ,הלינק שהבאת נפתח במשפט –
    Open source describes practices in production and development that promote access to the end product's source materials

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

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

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

  • מאור, אני לא בטוח לגמרי שאנחנו לא מסכימים בנושא המקורי :) אז בוא נראה.

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

    אם אנחנו מסכימים על זה, אז יש את שאלת הקוד הפתוח – שלטענתך המשמעות היא טכנית בלבד – קוד שרואים אותו (php לא מקומפל, או javascript) ולטענתי אין קשר – ומהשמעות היא חוקית בלבד.. נכון?
    פורסם לאחרונה אצל ליאור שיאון.. ‫מבחן פולי קפה – אספרסו של מאורו‬ My ComLuv Profile

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

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

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

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

פיד RSS לתגובות בפוסט | טראקבק


הוסף תגובה

You can add images to your comment by clicking here.

TechnoCraft - פתרונות אינטרנט


אֶקְסְפֶּרִימֶנְט דוֹט אֶפֶס - וורדפרס, תוכן, טכנולוגיה ועוד כמה דברים - מופעל באמצעות WordPress | פתרונות אינטרנט