שלח תשובה

זירת השאלות

257
צפיות
17
תשובות

פיתוח תג גרפי חדש

,‏ 6 בספטמבר, 2005

אני רוצה לפתח תג חדש, גרפי. למשל תג שיצייר עיגול:


<circle radius=’10’ color=’red’>some text inside</circle>


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

תגיות:

17 תשובות

  1. בasp.net אתה יכול ליצור פקדים משלך
    ע"י שימוש בcustom controls

  2. ramiyam הגיב:

    איזה יופי
    אני הולך ללמוד לעומק את הטכנולוגיה דוט-נט בחודשים הקרובים אז… 2 ציפרים…

    לגבי ה-XML אני עדיין לא התנסתי בה, אבל למדתי אותה "על יבש" כולל SXL   DTD   XQUERY
    וראיתי רק אפשרות לפענח את התגים שהגדרתי ולהפוך ל HTML.
    לכן לא אוכל להוסיף ע"י הפיענוח מה שאינו קיים כבר ב HTML – כמו למשל עיגול

    תודה על התגובות

  3. ramiyam הגיב:

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

    אבל בפועל אני לא יודע איך אפשר למנוע ממי שאינו מורשה, להוריד קובץ.  
    אתם מכירים שיטות וטריקים?

  4. adventureboy הגיב:

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

    http://phpsec.org/projects/guide/4.html

  5. ramiyam הגיב:

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

  6. adventureboy הגיב:

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

    אם יש לך שליטה מלאה על השרת אתה כבר יכול לעשות (בשילוב עם ASP.NET ובניית אובייקטים מותאמים אישית) משהו כבר יותר מורכב.

    העצה שלי, אם  כ"כ חשוב לך שלא יוכלו להוריד  ישירות את הקבצים, תדבוק בשיטה הראשונה.

    אם מישהו מצליח לחשוב  על משהו יותר טוב אשמח לשמוע…

  7. BuildHome הגיב:

    אל תיתן קישור ישיר לקובץ
    תן קישור כמו link.php?link_id=x ואז בעמוד הזה תוכל לבדוק אם
    המשתמש מורשה להכנס לקישור (בדיוק כמו בעמוד שמציג את הקישורים).
    אם הוא מורשה תעשה הפניה לכתובת הקובץ ואם לא אז תפנה
    אותו למשל לטופס התחברות/הזדהות ולאחר מכן תפנה אותו לעמוד כניסה לקישור למשל.

  8. adventureboy הגיב:

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

  9. BuildHome הגיב:

    זה כן יפתור
    תקרא היטב את מה שכתבתי.

  10. ramiyam הגיב:

    וע"י פיענוח כתובת שהוקלדה אולי…
    אם למשל מקלידים לכתובת:  www.homepage.com/something
    אפשר לגרום איך שהו ע"י תכנות שהשרת לא יחפש את התקייה something, אלא יתייחס רק ל http://www.homepage.com  ? וכך יכנס לעמוד הדיפולטי של הכתובת.  וכל מה שאחרי סלש לפענח אולי כמו Querystring?

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

  11. adventureboy הגיב:

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

  12. פיתרון אפשרי
    אני לא יודע לעבוד עם קבצים ב- PHP, אבל אני מניח שמה שאני מציע אפשרי.

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

    עכשיו נבנה דף PHP שבעצם יפנה להורדה של הקובץ המבוקש:
    1. בנה את ההזדהות של המשתמש.
    2. תוסיף את השורה הבאה בחלק של ביצוע ההורדה כאשר filename.ext הוא שם הקובץ שתרצה שיופיע אצל המשתמש:

    header("content-disposition","attachment; filename=filename.ext");

    3. תחפש ב- PHP פונקציה שמסוגלת לפלוט נתונים בינאריים מקובץ מסוים (יכול להיות שתצטרך 2 פונקציות, אחת שתקרא את הקובץ והשניה שתפלוט את הנתונים הבינאריים שלו).

    מקווה שעזרתי  

  13. סליחה טעיתי בשורה הנה התיקון


    header("content-disposition: attachment; filename=filename.ext");

  14. ramiyam הגיב:

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

    רק לא ידעתי את מה שאתה ו adventureboy אמרתם – הגדרת תיקיות חסומות לגישה ישירה. תודה על העצה.

שלח תשובה