אבטחה - באימות דו שלבי / דעתכם... 🪪💂🏻
-
@אביי-ורבא אני לעומת זאת מנסה להכנס לקוסמוס כדי לעשות את זה ולא מצליח
-
@שמואל כתב באבטחה - באימות דו שלבי / דעתכם... 🪪
:
בגבול הטעם הטוב
זה אומר שגם על API_KEY יהיו מגבלות?
(לא שיש לי צרכים עם טעם פחות טוב.. אני פשוט מתחיל לשנות את הקודים שלי ורוצה להבין איך הדברים יעבדו, הכל יוכל לעבוד עם API_KEY?)
אני משתמש למשל הרבה עםCallExtensionBridging
,UploadFile
,UploadTextFile
,UpdateExtension
ימשיך לעבוד לי עם API_KEY?תודה רבה רבה על הכל!!
בכל יום כל היום מה שמעניין אתכם זה שיהיה לנו טוב!
אז אולי פעם אחת נצטרך לטרוח גם אנחנו קצת ולהבין מה אתם עושים בשבילנו כל הזמן..
באמת כל הכבוד!!
תודה! -
אגב בניתי בAI איזה PHP קטן שמראה את הכתובת IP של השרת (אני לא לוקח אחריות)
צריך לשים את זה בשרת
<?php // server_ip.php // מציג את כתובת ה-IP של השרת (מנסה מספר שיטות — בחר את התוצאה הסבירה ביותר) function find_server_ips(): array { $results = []; // 1) משתני שרת רגילים (Apache / Nginx) if (!empty($_SERVER['SERVER_ADDR'])) { $results['SERVER_ADDR'] = $_SERVER['SERVER_ADDR']; } if (!empty($_SERVER['LOCAL_ADDR'])) { $results['LOCAL_ADDR'] = $_SERVER['LOCAL_ADDR']; } // 2) שם המחשב מתורגם לכתובת $hostname = gethostname(); if ($hostname !== false) { $hostip = @gethostbyname($hostname); if ($hostip && $hostip !== $hostname) { $results['gethostbyname(gethostname())'] = $hostip; } } // 3) יצירת socket יציאה כדי לגלות כתובת מקומית (לעיתים נותן הכתובת החיצונית/יציאתית) // לא שולח נתונים — רק מתחבר ופותח חיבור קצר $udpTarget = '8.8.8.8:53'; // לא שולחים נתונים, רק משתמשים לגלות הכתובת המקומית $sock = @stream_socket_client("udp://$udpTarget", $errno, $errstr, 1); if ($sock !== false) { $name = @stream_socket_get_name($sock, false); // יחזיר "ip:port" if ($name !== false) { $parts = explode(':', $name); if (filter_var($parts[0], FILTER_VALIDATE_IP)) { $results['outbound_socket'] = $parts[0]; } } fclose($sock); } // 4) אם יש הרחבת sockets אפשרות נוספת (יותר "נמוכה") if (function_exists('socket_create')) { $s = @socket_create(AF_INET, SOCK_DGRAM, SOL_UDP); if ($s !== false) { if (@socket_connect($s, '8.8.8.8', 53)) { if (@socket_getsockname($s, $local_ip)) { if (filter_var($local_ip, FILTER_VALIDATE_IP)) { $results['socket_getsockname'] = $local_ip; } } } @socket_close($s); } } // 5) fallback: local loopback if אין דבר אחר if (empty($results)) { $results['fallback'] = '127.0.0.1'; } return $results; } $ips = find_server_ips(); // בחר "המועמד הטוב ביותר" לפי עדיפות — אם יש SERVER_ADDR השתמש בו, אחרת outbound_socket, אחרת כל מה שיש $preferred = null; if (!empty($ips['SERVER_ADDR'])) { $preferred = $ips['SERVER_ADDR']; } elseif (!empty($ips['outbound_socket'])) { $preferred = $ips['outbound_socket']; } else { // קח את הערך הראשון ברשימה $preferred = reset($ips); } ?> <!doctype html> <html lang="he" dir="rtl"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>כתובת IP של השרת</title> <style> body{font-family: Arial, "Segoe UI", sans-serif; direction: rtl; text-align: right; padding:20px;} .card{display:inline-block;padding:18px;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,0.08);} .title{font-size:18px;margin-bottom:8px;} .ip{font-size:28px;font-weight:700;margin-bottom:6px;} .note{font-size:12px;color:#555} table{margin-top:12px;border-collapse:collapse;} td,th{padding:6px 10px;border:1px solid #eee;} </style> </head> <body> <div class="card"> <div class="title">כתובת ה-IP של השרת (מועמד)</div> <div class="ip"><?= htmlspecialchars($preferred) ?></div> <div class="note">הצגה מבוססת על כמה שיטות — בדוק את הטבלה למטה עם כל התוצאות שהתקבלו.</div> <table> <thead> <tr><th>שיטה</th><th>כתובת</th></tr> </thead> <tbody> <?php foreach ($ips as $method => $ip): ?> <tr> <td><?= htmlspecialchars($method) ?></td> <td><?= htmlspecialchars($ip) ?></td> </tr> <?php endforeach; ?> </tbody> </table> <p class="note"> חשוב: אם השרת עומד מאחורי NAT/로드-בלנסר/פרוקסי, הכתובת המוצגת כאן יכולה להיות הכתובת הפרטית או הכתובת היציאתית ולא תמיד הכתובת הציבורית הזמינה מהאינטרנט. אם תרצה את ה-IP הציבורי המדויק שנראה מבחוץ, אפשר לבצע קריאת HTTP לשירות חיצוני (למשל "ifconfig.co") — אך זה דורש גישה חיצונית לאינטרנט. </p> </div> </body> </html>
-
@נר-יצחק כתב באבטחה - באימות דו שלבי / דעתכם... 🪪
:
אגב בניתי בAI איזה PHP קטן שמראה את הכתובת IP של השרת (אני לא לוקח אחריות)
צריך לשים את זה בשרת
<?php // server_ip.php // מציג את כתובת ה-IP של השרת (מנסה מספר שיטות — בחר את התוצאה הסבירה ביותר) function find_server_ips(): array { $results = []; // 1) משתני שרת רגילים (Apache / Nginx) if (!empty($_SERVER['SERVER_ADDR'])) { $results['SERVER_ADDR'] = $_SERVER['SERVER_ADDR']; } if (!empty($_SERVER['LOCAL_ADDR'])) { $results['LOCAL_ADDR'] = $_SERVER['LOCAL_ADDR']; } // 2) שם המחשב מתורגם לכתובת $hostname = gethostname(); if ($hostname !== false) { $hostip = @gethostbyname($hostname); if ($hostip && $hostip !== $hostname) { $results['gethostbyname(gethostname())'] = $hostip; } } // 3) יצירת socket יציאה כדי לגלות כתובת מקומית (לעיתים נותן הכתובת החיצונית/יציאתית) // לא שולח נתונים — רק מתחבר ופותח חיבור קצר $udpTarget = '8.8.8.8:53'; // לא שולחים נתונים, רק משתמשים לגלות הכתובת המקומית $sock = @stream_socket_client("udp://$udpTarget", $errno, $errstr, 1); if ($sock !== false) { $name = @stream_socket_get_name($sock, false); // יחזיר "ip:port" if ($name !== false) { $parts = explode(':', $name); if (filter_var($parts[0], FILTER_VALIDATE_IP)) { $results['outbound_socket'] = $parts[0]; } } fclose($sock); } // 4) אם יש הרחבת sockets אפשרות נוספת (יותר "נמוכה") if (function_exists('socket_create')) { $s = @socket_create(AF_INET, SOCK_DGRAM, SOL_UDP); if ($s !== false) { if (@socket_connect($s, '8.8.8.8', 53)) { if (@socket_getsockname($s, $local_ip)) { if (filter_var($local_ip, FILTER_VALIDATE_IP)) { $results['socket_getsockname'] = $local_ip; } } } @socket_close($s); } } // 5) fallback: local loopback if אין דבר אחר if (empty($results)) { $results['fallback'] = '127.0.0.1'; } return $results; } $ips = find_server_ips(); // בחר "המועמד הטוב ביותר" לפי עדיפות — אם יש SERVER_ADDR השתמש בו, אחרת outbound_socket, אחרת כל מה שיש $preferred = null; if (!empty($ips['SERVER_ADDR'])) { $preferred = $ips['SERVER_ADDR']; } elseif (!empty($ips['outbound_socket'])) { $preferred = $ips['outbound_socket']; } else { // קח את הערך הראשון ברשימה $preferred = reset($ips); } ?> <!doctype html> <html lang="he" dir="rtl"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>כתובת IP של השרת</title> <style> body{font-family: Arial, "Segoe UI", sans-serif; direction: rtl; text-align: right; padding:20px;} .card{display:inline-block;padding:18px;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,0.08);} .title{font-size:18px;margin-bottom:8px;} .ip{font-size:28px;font-weight:700;margin-bottom:6px;} .note{font-size:12px;color:#555} table{margin-top:12px;border-collapse:collapse;} td,th{padding:6px 10px;border:1px solid #eee;} </style> </head> <body> <div class="card"> <div class="title">כתובת ה-IP של השרת (מועמד)</div> <div class="ip"><?= htmlspecialchars($preferred) ?></div> <div class="note">הצגה מבוססת על כמה שיטות — בדוק את הטבלה למטה עם כל התוצאות שהתקבלו.</div> <table> <thead> <tr><th>שיטה</th><th>כתובת</th></tr> </thead> <tbody> <?php foreach ($ips as $method => $ip): ?> <tr> <td><?= htmlspecialchars($method) ?></td> <td><?= htmlspecialchars($ip) ?></td> </tr> <?php endforeach; ?> </tbody> </table> <p class="note"> חשוב: אם השרת עומד מאחורי NAT/로드-בלנסר/פרוקסי, הכתובת המוצגת כאן יכולה להיות הכתובת הפרטית או הכתובת היציאתית ולא תמיד הכתובת הציבורית הזמינה מהאינטרנט. אם תרצה את ה-IP הציבורי המדויק שנראה מבחוץ, אפשר לבצע קריאת HTTP לשירות חיצוני (למשל "ifconfig.co") — אך זה דורש גישה חיצונית לאינטרנט. </p> </div> </body> </html>
אפשר גם לגלוש מהדפדפן, ולבדוק בכלי מפתחים (F12) לאיזה כתובת זה ניגש
או תשתמש עם אחד מהעשרות כלים שיש ברשת למצוא כתובת IP לפי דומיין -
@נר-יצחק כתב באבטחה - באימות דו שלבי / דעתכם... 🪪
:
@אביי-ורבא אני לעומת זאת מנסה להכנס לקוסמוס כדי לעשות את זה ולא מצליח
לא הבנתי מה אתה מנסה לעשות, להיכנס עם אימות דו שלבי בקוסמוס?
-
@שמואל כתב באבטחה - באימות דו שלבי / דעתכם... 🪪
:
בעיקרון, נכון לכתיבת שורות אלה, הAPI_KEYS & הפעלת האכיפה המוקדמת בAPI תעבוד ב yAfast בגירסא 6.7.27 ומעלה וב yALogs גירסא 4.4.1 ומעלה.
זה לא יעבוד על yAserver ולא על yemotAPIיש צפי ברור מתי ה-API_KEYS יתחיל לעבוד על כל השירותים?
מכרתי ללקוחות תוכנת DESKTOP שבין היתר מתמשקת עם ימות, ואני צריך להפיץ גירסה חדשה שכוללת בתוכה מעבר ל- API_KEY, ואני לא יכול להפיץ את זה עד שהמעבר יושלם- בהזדמנות זו אני רוצה להודות ל @שמואל וכל הצוות הנפלא שלא מפסיקים לשדרג את המערכות בכל התחומים.
עד היום באמת לא הבנתי, היה נראה לי הזוי שבשביל להשתמש בכל מודול שהוא שקשור לAPI אני צריך למסור את סיסמת הניהול של המערכת...
דבר נוסף, האם תהיה אופציה ליצירת API_KEY דרך API (לאחר אימות קשיח כמובן)? זה יקל מאוד עלי ועל עוד מפתחים...
(אני לא חושב שיש בזה בעיית אבטחה כלשהיא, כמו שאפשר להוסיף כתובות IP לבנות דרך API אפשר גם ליצור API_KEY)
בתודה מראש. - בהזדמנות זו אני רוצה להודות ל @שמואל וכל הצוות הנפלא שלא מפסיקים לשדרג את המערכות בכל התחומים.
-
@אביי-ורבא לא.
להתחבר עם החשבון שלי לקוסמוסעבד לי כשפתחתי עם חבר שלך עד לא מזמן
יכול להיות שלכן חסמת לי?בכ"מ תיצור איתי קשר במייל avi.ivr.pro@gmail.com
-
כמו"כ לצורך טיפול בצורה מסודרת מול ימות בנושא הריסיילרים הנעלמים
אשמח אם מי שנמצא בטלטק ותקוע עם בעיות בגלל האימות דו שלבי
שייצור קשר במייל avi.ivr.pro@gmail.com
שבת שלום
-
@נר-יצחק
תשלח להם מייל (לטלטק) והם יטפלו
שלחתי להם שבוע שעבר והם טיפלו לאחר יומיים -
@תפארת-יעקבב מוזררררררררר
בכ"מ אני מטפל בזה בצורה קצת שונה אבל אם אתה אומר אני אנסה שוב -
@נר-יצחק אני גם שלחתי להם במייל וטיפלו בזה לאחר מספר ימים