הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   php| הפרדה והוצאת נתונים ע"י הפרדה בסימן, אינכלוד מרוחק (https://hosts.co.il/forums/showthread.php?t=56794)

ASTeam 20-11-07 21:24

php| הפרדה והוצאת נתונים ע"י הפרדה בסימן, אינכלוד מרוחק
 
שלום פורום;)
נגיע ישר לעיקר.. אני כרגע יושב על מערכת בה יש מערכת הרשאות...
חשבתי לעשות כזה דבר -
בטבלת users יהיה עמודה של access וההרשאות יופרדו ב";"
כך שמנהל שיש לו הרשאות לעריכת דפים, צפייה במשתמשים יהיה משהו כמו זה בעמודה access
pages;view_users
ולמנהל אחר שיש לו דפים, מנהלים, משתמשים, בלוקים
pages;admins;users;blocka
ולשאלה - כיצד אני עושה את זה ? באקספלוד אני לא יכול כי הרי אין מס' קבוע של הרשאות(לכל מנהל) וזה לא באותו סדר..

לשאלה השניה
האם יש לי אפשרות לעשות include לקובץ PHP משרת אחר?
אם לא, האם יש אפשרות לייבא קובץ PHP משרת אחר?
תודה וערב טוב

Tomer 20-11-07 21:31

אתה יכול לעשות explode על ; (נקודה פסיק) ואז למצוא אם ההרשאה קיימת ע"י in_array

חיים 20-11-07 21:35

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

ASTeam 20-11-07 22:54

ציטוט:

אני במערכת SITETOU עשיתי פונצקייה שמביא לך מערך של הרשאות ובמסד היה לי משהוא כזה: 1;1;0;1;0;0;1
כשכתבתי את השאלה עלה לי הרעיון הזה..אבל הוא ארוך... (ביחד למה ששאלתי..)
Tomer
צריך לעשות
array("users", "page"");
ובמסד זה ככה -
users;page

-roee- 20-11-07 23:01

הדרך שלך והרעיון טובים מאוד והביצוע קל ביותר.

לדוגמא יש קובץ ניהול ששמו pages.php ששולט על הדפים באתר, ובמסד יש לך בדיוק את המצב כמו שתיארנו, הראשות המופרדות ע"י נקודה פסיק ;

בתחילת הקובץ pages.php אתה עושה משהו בסגנון:
PHP קוד:


$myID 
get_my_id(); // Get the current administration ID
$permission_query mysql_query("select allowed_areas from admins where id='$myID'");
$my_permissions mysql_fetch_array($permission_query);
$my_permissions explode(";",$my_permissions);

if( ! 
in_array("pages",$my_permissions) )
{
    exit(
"Sorry, but your account is not allowed to enter this file");
}

..
..
and continue 
your code 


ASTeam 20-11-07 23:06

תודה!
חשבתי שin_array אפשר רק בהפרדה של גרשיים ופסיקים..תודה רבה..

מה לגבי אינקלוד מרוחק?

יש לי שאלה נוספת שקשורה לאבטחה.
במידה ויש לי קובץ admin.php ובget הוא מייבא דפים אחרים.
האם לכל דף אני צריך לבדוק שם-משתמש וסיסמא?(ע"מ לאמת שזהו המשתמש?)

-roee- 20-11-07 23:08

ייבוא קובץ משרת אחר, ייבא את הפלט של אותו קובץ ולא את הקוד במידה וכולל.

Tomer 20-11-07 23:29

ציטוט:

נכתב במקור על ידי ASTeam (פרסם 581345)
כשכתבתי את השאלה עלה לי הרעיון הזה..אבל הוא ארוך... (ביחד למה ששאלתי..)
Tomer
צריך לעשות
array("users", "page"");
ובמסד זה ככה -
users;page

בגלל זה אמרתי לך להשתמש ב explode שמפרק את המחרוזת למערך עפ"י מה שקבעת :|

-roee- 20-11-07 23:39

ציטוט:

נכתב במקור על ידי ASTeam (פרסם 581353)
תודה!
יש לי שאלה נוספת שקשורה לאבטחה.
במידה ויש לי קובץ admin.php ובget הוא מייבא דפים אחרים.
האם לכל דף אני צריך לבדוק שם-משתמש וסיסמא?(ע"מ לאמת שזהו המשתמש?)

אין צורך לבדוק את זה בכל קובץ, רק במידה ויש הרשאות שונות שאתה רוצה להגדיר לכל קובץ בנפרד.
אבל, מה שיש לבדוק זה שלא יכנסו לקובץ pages.php לדוגמא ע"י הקלדה בשורת הכתובות.

ASTeam 21-11-07 09:12

שלא יכנסו לקובץ pages.php לדוגמא ע"י הקלדה בשורת הכתובותואיך אני עושה את זה?

לגבי אינקלוד-
אם כך אין שום דרך לייבא קובץ מרחוק?


כל הזמנים הם GMT +2. הזמן כעת הוא 20:38.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ