509
צפיות
צפיות
17
תשובות
תשובות
פיתוח תג גרפי חדש
אני רוצה לפתח תג חדש, גרפי. למשל תג שיצייר עיגול:
<circle radius='10' color='red'>some text inside</circle>
אשמח מאוד לקבל הכוונה, מהם הכלים ושפות התכנות הרלוונתיים שעלי ללמוד
תודה
אני רוצה לפתח תג חדש, גרפי. למשל תג שיצייר עיגול:
<circle radius='10' color='red'>some text inside</circle>
אשמח מאוד לקבל הכוונה, מהם הכלים ושפות התכנות הרלוונתיים שעלי ללמוד
תודה
17 תשובות
ניתן לצור שפה משלך ע"י שימוש ב XML.
אתה יכול ללמוד אותה מאחד האתרים הבאים:
בasp.net אתה יכול ליצור פקדים משלך
ע"י שימוש בcustom controls
איזה יופי
אני הולך ללמוד לעומק את הטכנולוגיה דוט-נט בחודשים הקרובים אז… 2 ציפרים…
לגבי ה-XML אני עדיין לא התנסתי בה, אבל למדתי אותה "על יבש" כולל SXL DTD XQUERY
וראיתי רק אפשרות לפענח את התגים שהגדרתי ולהפוך ל HTML.
לכן לא אוכל להוסיף ע"י הפיענוח מה שאינו קיים כבר ב HTML – כמו למשל עיגול
תודה על התגובות
כבר קיים, וזה נקרא SVG (או VML)
פקדי צד שרת במקום שלא צריך?
הורדת קבצים למורשים בלבד
אני מפתח עם PHP.
ובאתר שאני מפתח ישנם אזורים למורשים בלבד. וכמובן קבצים שניתנים להורדה מאזור זה אסורים להורדה למי שאינו מורשה.
אבל בפועל אני לא יודע איך אפשר למנוע ממי שאינו מורשה, להוריד קובץ.
אתם מכירים שיטות וטריקים?
שימוש ב session
כשהוא מבצע כניסה תקבע לו session עם סטאטוס של מישהו שנכנס ואז בעמוד ההורדות תבדוק עם אותו session קיים. אם כן תן לו לראות את העמוד אם לא תפנה אותו חזרה לעמוד הכניסה למערכת.
אם הבנתי אותך נכון
אז אתה מציע להגביל כניסה לעמוד עם קישורים. כמובן כשיכנס מישהו לעמוד הזה אז יורץ הקוד ותהיה בדיקה אם הוא מורשה.
אבל מה אם הוא יודע את הקישור ישירות לקובץ ומקליד ישירות לדפדפן, אז לא תהיה הרצה של שום דף PHP אלא הדפדפן יציע להוריד את הקובץ.
מה לעשו במקרה כזה?
זה באמת כבר עניין טיפה יותר מעניין
אני לא מכיר דרך שבה תוכל לעשות את זה בצורה תיכנותית נקייה.
מה שאני יכול להציע זה לשים את הקבצים בספריה מוגנת סיסמא ולהפנות את החברים להורדת הקובץ בצורה שכוללת את הסיסמא לספריה.
אם יש לך שליטה מלאה על השרת אתה כבר יכול לעשות (בשילוב עם ASP.NET ובניית אובייקטים מותאמים אישית) משהו כבר יותר מורכב.
העצה שלי, אם כ"כ חשוב לך שלא יוכלו להוריד ישירות את הקבצים, תדבוק בשיטה הראשונה.
אם מישהו מצליח לחשוב על משהו יותר טוב אשמח לשמוע…
אל תיתן קישור ישיר לקובץ
תן קישור כמו link.php?link_id=x ואז בעמוד הזה תוכל לבדוק אם
המשתמש מורשה להכנס לקישור (בדיוק כמו בעמוד שמציג את הקישורים).
אם הוא מורשה תעשה הפניה לכתובת הקובץ ואם לא אז תפנה
אותו למשל לטופס התחברות/הזדהות ולאחר מכן תפנה אותו לעמוד כניסה לקישור למשל.
זה עדיין לא יפתור את העניין
שכל אחד יכול להכניס את כתובת הקובץ הישירה והקובץ ירד אליו למחשב
זה כן יפתור
תקרא היטב את מה שכתבתי.
וע"י פיענוח כתובת שהוקלדה אולי…
אם למשל מקלידים לכתובת: www.homepage.com/something
אפשר לגרום איך שהו ע"י תכנות שהשרת לא יחפש את התקייה something, אלא יתייחס רק ל http://www.homepage.com ? וכך יכנס לעמוד הדיפולטי של הכתובת. וכל מה שאחרי סלש לפענח אולי כמו Querystring?
כי אם זה אפשרי אז אפשר יהיה להגדיר את התיקייה שמכילה קבצי הורדה כתיקייה שהשרת לא אמור לחפש אותה בפועל.
לא בדיוק
תקרא מה שהוא ביקש.
הוא מבקש שאם למישהו יש את הכתובת המדוייקת של הקובץ אז אלא אם כן הוא רשום במערכת למנוע ממנו.
הפתרון שנתת הוא עדיין מבוסס קוד.
בשביל מה שהוא רוצה צריך התערבות של השרת.
פיתרון אפשרי
אני לא יודע לעבוד עם קבצים ב- PHP, אבל אני מניח שמה שאני מציע אפשרי.
קודם כל שים את כל הקבצים שברצונך לתת למשתמש להוריד בתיקיה שלא נגישה לגולשים.
עכשיו נבנה דף PHP שבעצם יפנה להורדה של הקובץ המבוקש:
1. בנה את ההזדהות של המשתמש.
2. תוסיף את השורה הבאה בחלק של ביצוע ההורדה כאשר filename.ext הוא שם הקובץ שתרצה שיופיע אצל המשתמש:
header("content-disposition","attachment; filename=filename.ext");
3. תחפש ב- PHP פונקציה שמסוגלת לפלוט נתונים בינאריים מקובץ מסוים (יכול להיות שתצטרך 2 פונקציות, אחת שתקרא את הקובץ והשניה שתפלוט את הנתונים הבינאריים שלו).
מקווה שעזרתי
סליחה טעיתי בשורה הנה התיקון
header("content-disposition: attachment; filename=filename.ext");
באמת ממשתי את זה עם מספר פונקציות
בדיוק לפי המלצתך.
אחת פותחת את הקובץ לקריאה, קריאה בינארית מהקובץ ואז באמצעות מספר HEADERS ופונקציית פתיחה.
רק לא ידעתי את מה שאתה ו adventureboy אמרתם – הגדרת תיקיות חסומות לגישה ישירה. תודה על העצה.