ABA


"בקשה ליודעים כתיבת PHP"
גירסת הדפסה        
קבוצות דיון בניית אתרים נושא #10751 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 10751
ניצן אור 
חבר מתאריך 8.10.01
23039 הודעות
   17:11   14.08.06   
אל הפורום  
  בקשה ליודעים כתיבת PHP  
 
   בימי המלחמה נאלצתי לחסום את הגישה לרוטר נט לגולשים מחו"ל
החסימה בוצעה ישירות מהספק נטוויז'ן. כעת ביקשתי לשחרר.

אני רוצה להכניס סקריפט לקובץ הראשי index.php

הוראה ב-PHP:
אם הגולש, גולש ב-IP שונה מהמספרים 199, 62, 132, וכדומה..
אזי יופיע לו על המסך הודעה:


Your IP: $user_ip
Sorry, for the moment, your IP is closed to run the forum.
for more information please send us an Email.
infrom: your country and your IP number infront of you.
click: http://rotter.net/kesher to send the Email.



                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  אני מנסה להכין לך משהו :} -DoTaN- 14.08.06 18:30 1
  אתה מתכוון מתחילים ב 62,132 וכו' ? Ice Cold  14.08.06 18:46 2
  שלחתי לך את הפתרון :) Ice Cold  14.08.06 19:01 3
  Pיי...למה כל כך הרבה שורות? אפשרי עם חיתוך string וכאלה...לא? CaTz 14.08.06 20:04 4
     הוא הוסיף נגד פרוקסי -DoTaN- 14.08.06 20:14 5
         אתה דורס את ה - targetAddr שלך כל פעם... Ice Cold  14.08.06 20:19 8
             אה סבבה... -DoTaN- 14.08.06 20:20 9
     הפונקציה GetClientAddr יודעת לסנן PROXY שהם לא Ice Cold  14.08.06 20:16 6
         הבנתי...תודה :) CaTz 14.08.06 20:26 11
         לא הבנתי אותה, תוכל להסביר איך בדיוק? MoonHunter 15.08.06 22:59 12
             כמובן :) Ice Cold  16.08.06 11:18 13
                 תודה על ההסבר :] MoonHunter 18.08.06 00:04 15
                 דווקא יש פתרון חלקי :) TheBinary 21.08.06 17:46 16
                     ואז איזה IP תחזיר בדיוק ? FireAngel 21.08.06 17:49 17
                         מה מה מה? TheBinary 21.08.06 18:15 18
                             אבל זה בעיה ספציפית. FireAngel 21.08.06 18:16 19
                                 ממש לא הבנת. TheBinary 21.08.06 18:17 20
                                     טוב , אבל הפונקציה צריכה להחזיר IP. FireAngel 21.08.06 18:18 21
                                         נכון, לא דיברתי על הפונקציה TheBinary 21.08.06 18:20 22
     אה ובקשר לחיתוך... -DoTaN- 14.08.06 20:18 7
  וואלה ברוך השם אפשר להכנס לרוטר canada2002 14.08.06 20:24 10
  כן בשעה טובה, קצת מעיק הסיפור gdilan 16.08.06 20:50 14

       
-DoTaN-

דרג אמינות חבר זה
   18:30   14.08.06   
אל הפורום  
  1. אני מנסה להכין לך משהו :}  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Ice Cold  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 3.8.02
28041 הודעות, 19 פידבק, 36 נקודות
   18:46   14.08.06   
אל הפורום  
  2. אתה מתכוון מתחילים ב 62,132 וכו' ?  
בתגובה להודעה מספר 0
 


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Ice Cold  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 3.8.02
28041 הודעות, 19 פידבק, 36 נקודות
   19:01   14.08.06   
אל הפורום  
  3. שלחתי לך את הפתרון :)  
בתגובה להודעה מספר 0
 
עבר עריכה לאחרונה בתאריך 14.08.06 בשעה 20:20 על-ידי FireAngel (סגן מנהל)
 
לכל מי שרוצה :


<?
$targetIps = array();

$targetIps[sizeof($targetIps)] = "82.";
$targetIps[sizeof($targetIps)] = "127.0";


function GetClientIPAddr()
{
$xForwardedFor = getenv("HTTP_X_FORWARDED_FOR");
if (trim($xForwardedFor) != "")
{
if (strstr($xForwardedFor,","))
{
$ipArray = explode(",",$xForwardedFor);
foreach($ipArray as $IP)
{
if(ereg ("[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}", $IP))
{
return $IP;
}
}
return getenv("REMOTE_ADDR");
}
else
{
if(ereg ("[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}", $xForwardedFor))
{
return $xForwardedFor;
}
else
{
return getenv("REMOTE_ADDR");
}
}
}
else
{
return getenv("REMOTE_ADDR");
}
}


$ip_legal = true;

foreach($targetIps as $IP)
{
$ip_pos = strpos(GetClientIPAddr(),$IP);
if ($ip_pos === 0)
{
$ip_legal = false;
break;
}
}
if ($ip_legal)
{
?>
Your IP: <? echo getenv("REMOTE_ADDR"); ?><br>
Sorry, for the moment, your IP is closed to run the forum.<br>
for more information please send us an Email.<br>
infrom: your country and your IP number infront of you.<br>
click: <a href="http://rotter.net/kesher">http://rotter.net/kesher</a> to send the Email.<br>
<?
}else{
echo "IP is OK";
}
?>


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
CaTz
חבר מתאריך 2.10.04
14537 הודעות, דרג אמינות חבר זה
   20:04   14.08.06   
אל הפורום  
  4. Pיי...למה כל כך הרבה שורות? אפשרי עם חיתוך string וכאלה...לא?  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
-DoTaN-

דרג אמינות חבר זה
   20:14   14.08.06   
אל הפורום  
  5. הוא הוסיף נגד פרוקסי  
בתגובה להודעה מספר 4
 
   אני עשיתי משהו יותר פשוט...


<?
$targetAddr = array();
$targetAddr = "88.153..*..*";
$targetAddr = "88.154..*..*";
$targetAddr = "88.155..*..*";

if (ereg($targetAddr, $_SERVER['REMOTE_ADDR']))
{
?>
Your IP: <? echo $_SERVER['REMOTE_ADDR']; ?><br>
Sorry, for the moment, your IP is closed to run the forum.<br>
for more information please send us an Email.<br>
infrom: your country and your IP number infront of you.<br>
click: <a href="http://rotter.net/kesher">http://rotter.net/kesher</a> to send the Email.<br>
<?
}else{
echo "IP is OK";
}
?>

:}


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Ice Cold  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 3.8.02
28041 הודעות, 19 פידבק, 36 נקודות
   20:19   14.08.06   
אל הפורום  
  8. אתה דורס את ה - targetAddr שלך כל פעם...  
בתגובה להודעה מספר 5
 
1. אתה לא מציב את הערכים בצורת מערך.
2. גם אם היית מציב את targetAddr כמו מערך, הפונקציה ereg מקבלת STRING כפרמטר pattern, ולא מערך.

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


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
-DoTaN-

דרג אמינות חבר זה
   20:20   14.08.06   
אל הפורום  
  9. אה סבבה...  
בתגובה להודעה מספר 8
 
   פשוט לקחתי את החלק הזה מאצלך והייתי בטוח שהוא יפעל

תודה על התיקון אחי


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Ice Cold  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 3.8.02
28041 הודעות, 19 פידבק, 36 נקודות
   20:16   14.08.06   
אל הפורום  
  6. הפונקציה GetClientAddr יודעת לסנן PROXY שהם לא  
בתגובה להודעה מספר 4
 
ELITE, בשונה משימוש פשוט ב - REMOTE_ADDR.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
CaTz
חבר מתאריך 2.10.04
14537 הודעות, דרג אמינות חבר זה
   20:26   14.08.06   
אל הפורום  
  11. הבנתי...תודה :)  
בתגובה להודעה מספר 6
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
MoonHunter
חבר מתאריך 1.8.02
680 הודעות, דרג אמינות חבר זה
   22:59   15.08.06   
אל הפורום  
  12. לא הבנתי אותה, תוכל להסביר איך בדיוק?  
בתגובה להודעה מספר 6
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Ice Cold  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 3.8.02
28041 הודעות, 19 פידבק, 36 נקודות
   11:18   16.08.06   
אל הפורום  
  13. כמובן :)  
בתגובה להודעה מספר 12
 
ערכתי לאחרונה בתאריך 16.08.06 בשעה 11:18 בברכה, Ice Cold
 
ה-Header של HTTP_X_FORWARDED_FOR נוצר ע"י שרתי PROXY שהם לא אנונימיים. הוא מכיל את הפורמט הבא:


YOUR_IP,PROXY_IP

ה-IP האמיתי מופיע תמיד ראשון. לכן, הקוד רץ על כל ה-IP ומחזיר את ה-IP הראשון שמכיל אך ורק ספרות (שרתי PROXY הרבה פעמים מכילים DNS, אבל IP פרטי מכיל תמיד רק ספרות).

אם ה-HEADER הזה לא נמצא - אתה לא משתמש ב-PROXY, או שאתה משתמש ב-PROXY שהוא ELITE - אחד שלא מעביר את ה-HEADER הזה. לבעיה הזו אין פתרון.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
MoonHunter
חבר מתאריך 1.8.02
680 הודעות, דרג אמינות חבר זה
   00:04   18.08.06   
אל הפורום  
  15. תודה על ההסבר :]  
בתגובה להודעה מספר 13
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
TheBinary

   17:46   21.08.06   
אל הפורום  
  16. דווקא יש פתרון חלקי :)  
בתגובה להודעה מספר 13
 
   אפשר לבדוק אם הפורטים 8080 ו-3128 (שהם הפורטים הנפוצים ביותר לפרוקסים) באייפי שהפונקציה החזירה פתוחים. אם כן - יש לאייפי הזה פוטנציאל להיות פרוקסי.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
FireAngel

   17:49   21.08.06   
אל הפורום  
  17. ואז איזה IP תחזיר בדיוק ?  
בתגובה להודעה מספר 16
 
   בכל מקרה אתה חייב להחזיר IP , לא משנה מה יש.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
TheBinary

   18:15   21.08.06   
אל הפורום  
  18. מה מה מה?  
בתגובה להודעה מספר 17
 
   דיברתי על הבעיה שאם האייפי המוחזר הוא אייפי של Elite Proxy.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
FireAngel

   18:16   21.08.06   
אל הפורום  
  19. אבל זה בעיה ספציפית.  
בתגובה להודעה מספר 18
 
   במקרה הזה אין פתרון. כי אם זה IP של אליט אז תחזיר את אותו IP.
אין שום דרך לגלות מה מסתתר מאחורי הפרוקסי הזה.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
TheBinary

   18:17   21.08.06   
אל הפורום  
  20. ממש לא הבנת.  
בתגובה להודעה מספר 19
 
   אם זה IP שהפורטים 8080 ו/או 3128 פתוחים בו, אל תאפשר גישה, כי הוא עלול להיות אייפי של Elite Proxy.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
FireAngel

   18:18   21.08.06   
אל הפורום  
  21. טוב , אבל הפונקציה צריכה להחזיר IP.  
בתגובה להודעה מספר 20
 
   מה שאתה אומר זה מקרה אחר של בדיקה נוספת.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
TheBinary

   18:20   21.08.06   
אל הפורום  
  22. נכון, לא דיברתי על הפונקציה  
בתגובה להודעה מספר 21
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
-DoTaN-

   20:18   14.08.06   
אל הפורום  
  7. אה ובקשר לחיתוך...  
בתגובה להודעה מספר 4
 
   לא צריך לעשות משהו... אפשר פשוט לעשות לשים .*

לדוגמא:


123.123..*..*

זה פועל מצוין :}


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
canada2002

   20:24   14.08.06   
אל הפורום  
  10. וואלה ברוך השם אפשר להכנס לרוטר  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
gdilan

   20:50   16.08.06   
אל הפורום  
  14. כן בשעה טובה, קצת מעיק הסיפור  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net