![]() |
רישיון למערכת?
אהלן
נצא מנקודת הנחה שיש לי מערכת והחלטתי לשים לקובץ התקנה סיריאל ייחודי עכשיו , הקובץ התקנה מכיל רק את ייצירת המסד השאלה שלי היא איך אפשר להפוך את קובץ התקנה ליותר נצרך? כלומר מסד תמיד אפשר לשכפל ולכן זה הופך את קובץ ההתקנה ללא אפקטיבי אז השאלה שלי היא מה אפשר להוסיף לקובץ התקנה שייצטרכו אותו בשביל להפעיל את המערכת ד"א המערכת בנוייה ב PHP תוכלו לבדוק גם את האשכול הזה על הדרך? תודה רבה. |
|
גם אם תבנה מנגנון שבודק רשיונות במערכת, מה הבעיה לבוא לחפש תמנגנון הבדיקה ולמחוק מהקוד ?
|
בעיקרון לדעתי תעשה קובץ index שמתוכו תאנקלד את כל המערכת לפי הדף שהגולש נמצא בו (כמו וורדפרס והרבה מערכות אחרות).
ואז את הקובץ הזה תצפין ותשים בו את הבדיקה של הסריאל |
הכי חכם, תחזיק את הdatabase אצלך על השרת, ותיתן לclient למשוך אותו.
|
שי - שכחת שאני צריך לקנות איחסון כל עוד האתר שלהם פעיל?
ובקשר לאינקלוד , אתה יכול להסביר לי איך זה עובד? תודה |
הצעה שלי - אל תשקיע בזה יותר מידי, רישיונות אפשר לעקוף תמיד
תחשוב על אם אתה יכול להשתמש בכל תוכנה שאתה רוצה, כל משחק וכל דבר אחר שבא לך אחרי שכבר עקפו את הרשיונות שלהם, למה שאת שלך לא יעקפו? ועוד ב-PHP שאין לך איך להסתיר את הקוד או משהו, כל מה שצריך לעשות זה טיפה לשבת ולעקוב אחרי הקבצים שלך אם אתה מתכנן לעשות משהו שאתה הולך למכור בתור הקבצים של הקוד, פשוט תהפוך את כל המערכת לכל קובץ עם שורה אחת (אם אתה לא מכיר, ב-notepad++ תסמן הכל ותלחץ ctrl+j) וזה יהפוך את זה למספיק נאחס לשינוי, מעבר לזה אתה יכול להוסיף בדיקה מול שרת שלך שכמו שאמרתי באשכול שקישרתי אליו בהתחלה - אתה עושה בדיקה שמבטלת את הפעולה של המערכת רק אם קיבלת תשובה שלילית מהשרת, לא אם לא קיבלת תשובה או משהו - למקרה שאתה מחליט להפסיק להפעיל את השרת. את הבדיקה הזאת תתקע גם איפשהו בתוך הקובץ של השורה אחת הזאת בתור eval למשהו שמקודד ב-base 64 |
משתמש משלם על הרישיון למערכת.
הוא לא רוצה שה-Database ו/או הקוד יהיה על השרת שלך (אתה מוכן לשאת בעלויות אם יש נפילה? להתמודד עם עומסים?) הוא רוצה גישה חופשית לערוך ולשנות את מה שהוא שילם עליו (ואם אתה מצפין לו את הקוד... הוא כבר לא יכול). הוא רוצה לראות את מה שהוא שילם עליו - לראות שאין שם דברים שהוא לא באמת היה רוצה לקבל (ועוד פעם - הצפנה / ערבול של הקוד מונעת את זה ממנו). כמה שלא תנסה להגן, אם מישהו ירצה - הוא יעקוף את זה. אין מה לעשות. תמכור את המערכת שלך עם רישיון שימוש. יש לך באינטרנט המון סוגי רשיונות שיכולים להתאים לצרכים בדיוק שלך (לא להפיץ הלאה, לאפשר שינויים וכו'). אף חברה לא תתעסק בדבר לא חוקי כמו להשתמש במערכת בלי רישיון שימוש. אגב... אם אתה בכל זאת מחליט להצפין את המערכת, אתה מוזמן להשתמש במשהו שבניתי לפני שנה בערך - אז יכול להיות שהוא כבר לא עובד, אבל... http://www.seekposition.net/php-encode |
דניאל - ההצפנה הזאת מאוד מאוד שימושית לפי מה שראיתי , זה בדיוק מה שחיפשתי ויש לי כמה שאלות
מה זאת אומרת שאמרת שהוא לא עובד? כלומר עד גירסא מסויימת? אתה ממשיך לתמוך במערכת הזו? האם פרסמת אותה בעבר או עתיד לפרסם לקהילת המפתחים? עוד שאלה קטנה ת אפשר להסביר בקצרה איך זה בדיוק עובד? תודה |
ציטוט:
וכפי שמשתמע מהתשובה הקודמת - לא. לא פרסמתי את הקוד של המערכת ואני (נכון לעכשיו) גם לא מתכנן לפרסם. איך המערכת עובדת? פשוט מאוד. המערכת מנתחת את הקוד שלך ועוברת עליו בכמה שלבים היא דבר ראשון מערבלת את כל שמות המשתנים והפונקציות. לדוגמא, במקום: PHP קוד:
PHP קוד:
לאחר מכן, היא מפצלת חלקים ממנו ומשתמשת בפונקציות שונות כדי להקשות על מי שינסה לפענח - eval(base64_decode(...)); אני חושב שעוד משהו בערך כמו 8-9 פעמים, וכל הזמן עם פונקציות שונות ותוספות שונות כדי להקשות על מי שינסה לפענח. |
ציטוט:
|
קודם כל תלוי מה ההסכם שלך עם הלקוח, כמו שדניאל אמר יש לקוחות שלא ממש ירצו דבר כזה.
ובכל מקרה אם אתה רוצה יש פתרונות חזקים יותר ממה שדניאל הציע. כל עוד לא השתמשת בפיצ'רים שדורשים את הinterpenter של PHP אתה יכול לקמפל את הקוד שלך וליצור קבצים בינאריים. אחרי שיצרת קבצים בינאריים אתה יכול לעבור על הsymbols table ולשנות אותה ככה שלא יהיו שמות של פונקציות\מחלקות וכד'. זה אמור להגן על המערכת שלך משינויים של המתכנת הלא מנוסה או של מי שלא מוכן להשקיע מספיק זמן. אחרי זה אתה יכול להצפין את הקבצים הבינאריים שלך ככה שלא יהיה אפשר לעשות disassemble בצורה פשוטה ועל הדרך לדאוג שיש רישיון מתאים. אני הייתי משתמש במודל הצפנה מהיר יחסית כי אתה לא רוצה לפגוע בהרבה בביצועים, נגיד AES256, הוא חזק ודי מהיר. בתור מפתח הייתי משתמש בסיריאל של הרישיון בתוספת הMAC של המערכת ככה שהגרסה שנתת ללקוח תעבוד רק בשרת המוסכם. אם הרישיון מיועד ליותר משרת אחד הייתי יוצר איזה פונקציה מתמטית שתחזיר את אותה התוצאה עבור הMACים השונים ברישיון ומשתמש בפלט של הפונקציה בתור חלק מהמפתח. אם תסתכל על פונקציות HASH פשוטות אתה בטח תצליח למצוא משהו מתאים. אם ההגנה הזאת עדיין לא מספיקה לך ואתה דואג שהמשתמש יחלץ את הקוד הבינארי מהזיכרון של השרת בזמן ריצה (כמו שפורצים את ההגנה של אפל על אפליקציות לIOS) אתה יכול להוסיף הגנות שיפריעו כמו INT 3 (breakpoint) ועוד מגוון טריקים אחרים. בסופו של דבר עם מספיק השקעה יהיה אפשר לשבור גם את זה אבל זה יהיה קשה יותר וידרוש זמן רב. לדעתי זאת הגנה חזקה מספיק לרישיון של תוכנה. אם זה עדיין לא מספיק בשבילך אז כנראה שהתוכנה שלך באמת שווה ממש הרבה והייתי ממליץ לך להיעזר במומחה לאבטחת מידע :) הערה: כשאמרתי בתור חלק מהמפתח התכוונתי לזה שתגזור מהצירופים הללו את המפתח ולא שהם יהיו המפתח עצמו. |
כל הזמנים הם GMT +2. הזמן כעת הוא 21:29. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ