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

הוסטס - פורום אחסון האתרים הגדול בישראל (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=44400)

ShoQER 27-04-07 13:26

[PHP] "שינה" ? מה הקטע של זה?
 
שלום.

עלתה לי שאלה לראש...

יש הפונקציה sleep שגורמת ל"שינה"...כלומר נגיד אני עושה:
PHP קוד:

<?php

// current time
echo date('h:i:s') . "\n";

// sleep for 10 seconds
sleep(10);

// wake up !
echo date('h:i:s') . "\n";

?>

זה ידפיס לי:
05:31:23
05:31:33

למה בכלל צריך את זה? כאילו זה סתם מעלה את זמן הטעינה של הדף לא?

ואיזה שימוש אני יכול לעשות בפונקציה כמו זו?

חיים 27-04-07 13:35

ואם בא לך שהמשתמש יחכה קצת...חח...(סתם)
אתה יכול להשתמש בזה בישביל לחכות גם אחרי הטעינה של הדף למשל שכל נגיד 2 שניות יופיע לך ההודעה hellow ותעלם אז אתה משתמש בזה

4ior 27-04-07 13:36

בעקרון משתמשים בזה נגד התקפות-brute force
אתה יכול להאריך את הזמן של כל התחברות למשל..

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

ShoQER 27-04-07 13:59

ציטוט:

נכתב במקור על ידי masterpl (פרסם 467208)
ואם בא לך שהמשתמש יחכה קצת...חח...(סתם)
אתה יכול להשתמש בזה בישביל לחכות גם אחרי הטעינה של הדף למשל שכל נגיד 2 שניות יופיע לך ההודעה hellow ותעלם אז אתה משתמש בזה

זה PHP...לא JS...בסוף זה ידפיס 2 HELLO...

וליאור...מה זה BRUTE FORCE

BlueNosE 27-04-07 14:15

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

SDF 27-04-07 14:25

הנה עוד שימוש לפונקציה.
 
שימוש נוסף

4ior 27-04-07 15:33

http://he.wikipedia.org/wiki/&#37;D7%9B%...7_%D7%92%D7%A1

עריכה: bluenose זה לא קשור להרשמה. אתה מדבר על סתם הצפה בשביל נגיד להפיל את השרת.
בדרך כלל משתמשים בזה בשביל לפרוץ סיסמאות על ידי כך שאתה שולח את כל האפשרויות/צירופים האפשריים של הסיסמאות והsleep מעקב אותם פי כמה שאתה רוצה.
נגיד הפורץ חושב שהסיסמה שלך היא בת 6 אותיות. ונגיד שזה אמור לקחת לו שבוע לפרוץ את זה בשרת בדיוק כמו שלך רק בלי הפונקציה..ואתה שם sleep(10) זה יכפיל לו את הזמן שלוקח לו פי 10.

עדיף שלא תשתמש בזה. יש דברים חדשים כמו למשל security code

RS324 27-04-07 15:38

ציטוט:

נכתב במקור על ידי SDF (פרסם 467252)

דוגמא הכי גרועה שיכולה להיות

אני אתן לך שימוש יותר רציני...

נגיד יש לך רשימת תפוצה של 100 אלף אנשים
ואתה רוצה לשלוח להם מיילים לכולם

אז אתה עושה משיכה ל 1000 אנשים , שולח עושה SELEEP
בשביל שהשרת של המייל לא יחסום אותך וממשיך.
ככה כל 1000 אתה נותן לו הפסקה של 10 שניות נגיד

SDF 27-04-07 16:45

ציטוט:

נכתב במקור על ידי RS324 (פרסם 467334)
דוגמא הכי גרועה שיכולה להיות

ואיך זה בדיוק?
זאת דרך טובה מכמה בחינות:
1. sleep פחות יקרה מאשר fork, אזי עדיף שהprocess ימשיך לישון שעה, מאשר לרוץ מחדש כל שעה.
2. לא תמיד יש גישה לcrontab או כלי דומה.

BlueNosE 27-04-07 16:49

ציטוט:

נכתב במקור על ידי 4ior (פרסם 467323)
http://he.wikipedia.org/wiki/&#37;D7%9B%...7_%D7%92%D7%A1

עריכה: bluenose זה לא קשור להרשמה. אתה מדבר על סתם הצפה בשביל נגיד להפיל את השרת.
בדרך כלל משתמשים בזה בשביל לפרוץ סיסמאות על ידי כך שאתה שולח את כל האפשרויות/צירופים האפשריים של הסיסמאות והsleep מעקב אותם פי כמה שאתה רוצה.
נגיד הפורץ חושב שהסיסמה שלך היא בת 6 אותיות. ונגיד שזה אמור לקחת לו שבוע לפרוץ את זה בשרת בדיוק כמו שלך רק בלי הפונקציה..ואתה שם sleep(10) זה יכפיל לו את הזמן שלוקח לו פי 10.

עדיף שלא תשתמש בזה. יש דברים חדשים כמו למשל security code

מה? ברוט פורס זה כל דבר שרץ באופן ברוטלי ולא מפסיק. זה יכול להיות פורץ סיסמאות (אני יודע איך עובד ברוט של פריצת סיסמא, אין צורך להסביר לי) וזה יכול להיות הצפת השרת ע"י הרשמה אוטומטית.

ציטוט:

נכתב במקור על ידי SDF (פרסם 467386)
ואיך זה בדיוק?
זאת דרך טובה מכמה בחינות:
1. sleep פחות יקרה מאשר fork, אזי עדיף שהprocess ימשיך לישון שעה, מאשר לרוץ מחדש כל שעה.
2. לא תמיד יש גישה לcrontab או כלי דומה.

אם אין גישה לCJ, למה שתוכל לשנות את הset_time_limit?

SDF 27-04-07 17:00

ציטוט:

נכתב במקור על ידי BlueNosE (פרסם 467392)
אם אין גישה לCJ, למה שתוכל לשנות את הset_time_limit?

CJ? התכוונת לCGI?

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

אתה לא יכול לשנות set_time_limit רק אם אתה בsafe_mode, בכל שאר המקרים אין בעיה,
למעט בגרסת המודול, ששם אני חושב שיש בעיה, אבל אין לי דרך לבדוק כרגע, אני לא משתמש בapache.

Eran-s 27-04-07 17:45

ציטוט:

נכתב במקור על ידי SDF (פרסם 467397)
CJ? התכוונת לCGI?

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

אתה לא יכול לשנות set_time_limit רק אם אתה בsafe_mode, בכל שאר המקרים אין בעיה,
למעט בגרסת המודול, ששם אני חושב שיש בעיה, אבל אין לי דרך לבדוק כרגע, אני לא משתמש בapache.

הוא התכוון ל-crontab,
CJ = Cron Job

SDF 27-04-07 17:48

אם הוא התכוון לcron job, אז מה הקשר שהוא עשה בין cron ל set_time_limit?

Eran-s 27-04-07 17:50

ציטוט:

נכתב במקור על ידי SDF (פרסם 467443)
אם הוא התכוון לcron job, אז מה הקשר שהוא עשה בין cron ל set_time_limit?

הוא כנראה בטעות רשם CJ במקום crontab

BlueNosE 27-04-07 20:52

כן צודק, התכוונתי לcrontab
בקיצור, אני אומר שאם אין לו גישה לשנות ערכים בPHP.INI, אין סיבה שיהיה לו crontab.

SDF 28-04-07 02:23

ציטוט:

נכתב במקור על ידי BlueNosE (פרסם 467656)
כן צודק, התכוונתי לcrontab
בקיצור, אני אומר שאם אין לו גישה לשנות ערכים בPHP.INI, אין סיבה שיהיה לו crontab.

אני עדיין לא מבין מה הקשר בין השניים.
בשביל לשנות php.ini, רוב הסיכויים שאתה צריך להיות הבעלים == root.
ובד"כ לכל יוזר יש crontab. גם לא חייבים להביא גישת shell בשביל לערוך את הcrontab.

RS324 28-04-07 03:31

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


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

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