13-01-2009, 00:27
|
מנהל פורומי "תכנות ובניית אתרים" ו"חומרה ורשתות"
|
|
חבר מתאריך: 25.10.01
הודעות: 42,775
|
|
PHP, בתוך אפאצ'י, בד"כ מותקנת כמודול. כלומר, כל שפת PHP רצה בתוך התהליך של אפאצ'י, כאילו היא אפאצ'י. אני לא כל כך בטוח אם אפאצ'י בא, פותח את הקובץ, מעביר אותו למנוע של PHP, ו PHP מריץ, או שהוא רק נותן ל PHP את השם, ו PHP מריץ. (כש PHP מופעלת דרך CGI הוא בוודאי לא פותח את הקובץ לבד, הוא פשוט מריץ את PHP ונותן לה את שם הקובץ כפרמטר, כאילו הרצת משורת הפקודה, רק שהוא גם מכניס את הכותרים של הבקשה...)
מודול בינארי הכוונה לקוד שמתייחס ל API של PHP, ונכנס לאן שצריך באמצעות ה hook-ים המתאימים.
המודול לא צריך לפעול על קריאת הקובץ (למה שיעשה את זה?), אלא על שלב פיענוח הקובץ. ליתר דיוק, כל שהוא צריך לעשות, הוא ליצור פונקציית פיענוח. את השאר יעשה המקודד - הוא יקודד את הקוד, וייצר קובץ PHP שמכיל בסך הכל קריאה לפונקציית הפיענוח, כשהקלט שלה הוא הקוד שהוצפן. פונקציית הפענוח (שתהיה כאילו חלק משפת PHP אחרי שהיא תטען במודול הפענוח), היא זו שתפתח את הפענוח, ובעצם תעשה משהו שדומה ל eval(). קוד הפענוח לא יהיה זמין לכולם במקרה הזה, מהסיבה הפשוטה שאתה לא תתן את קוד המקור, אלא הבינארי, זה כל הרעיון... אם היה קוד המקור, כל אחד יכל לקחת אותו, להריץ בו את הקובץ המוצפן, ולקבל את קוד המקור המקורי ללא שום בעייה, וזה קצת... מגוחך, תסכים איתי.
לגבי המשפט האחרון שלך - אז שוב - אני לא מבין - אתה רוצה ליצור מוצר ש... הוא בדיוק כמו כאלה שכבר קיימים בשוק, ועושים בדיוק אותו דבר? (בצורה של מודול שמוסיפים בשרת שמריץ PHP ו encoder אצל יצרן התוכנה שמקודד את הקובץ לפני שהוא נותן אותו ללקוח?)
|