הגנת HotLink לסקריפט Xmoov באמצעות קוד PHP

Xmoov הוא סקריפט PHP שמאפשר Video seeking (קפיצה מנקודה לנקודה) בשרתים שיתופיים (Shared hosting) ובעצם פותר את בעיית אירוח הווידאו.

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

האתר הרשמי של הסקריפט כבר לא פעיל, אז העלתי עותק של אחת הגירסאות (יש המון גירסאות שונות עם שינויים קלים) ל-Pastebin.

בדומה לתמונות, גם קבצי ווידאו הם דבר מאוד מבוקש ע"י אתרים אחרים ולאחר זמן מה 80% מהטראפיק של סרטי הווידאו הם מאתרים אחרים, על חשבונך.

כדי לפתור את הבעיה הזאת, ב-Nginx משתמשים ב-Secure Links (אסימונים), מדובר בלינק שמכיל מספר פרמטרים לבחירה כמו: שם הקובץ, קוד סודי, וזמן תפוגה (זמן תפוגה מאפשר לנו להגביל את השימוש של הגולש בקובץ), ש-Nginx יודע לפענח אם הקישור תקין ולהגיש את הקובץ בהתאם (המחמירים מוסיפים גם את כתובת ה-IP של הגולש כך שלא יוכל לשתף את כתובת הווידאו לגולשים אחרים ).

כתובת Secure Link ב-Nginx נראית כך:

כתובת Secure Link ל-Xmoov עם הקוד שלי נראה כך:

כתבתי תוספת לקוד של XMOOV שמאפשרת לנו להשתמש ב-Secure Links:

define('XMOOV_SECURE_LINK', TRUE);
$password = 'MySecretPassword';
if(XMOOV_SECURE_LINK) {
$time = $_GET['time'];
$token = $_GET['token'];
$hash = md5($_GET[XMOOV_GET_FILE] . $password . $time . $_SERVER['REMOTE_ADDR']);
if($token != $hash) {
die('Sorry, your token is wrong');
}
if($time < time()) {
die('<h1>510 – Gone</h1>');
}
}

בקוד שלי הוספתי גם את כתובת ה-IP של הגולש כפרמטר, כדי שגולש לא ייגש לקובץ ווידאו וישתף אותו באתרים אחרים.

בקצרה, הקוד אומר:

  • בהנחה ש-XMOOV_SECURE_LINK מופעל:
  1. אם ה-token$ לא שווה ל-hash$ (מורכב מ-HASH של: שם הקובץ, סיסמה, תאריך תפוגה וכתובת ה-IP של הגולש), תהרוג את הסקריפט ותציג שגיאה שהאסימון שגוי.
  2. אם זמן התפוגה, קטן מזמן השרת כרגע, תהרוג את הסקריפט ותציג שגיאה שהקישור פג תוקף (שגיאה 510). 

 

באחד הפוסטים הקרובים אני אכתוב קוד נוסף, שיוצר URL עם Secure Links.

פורסם בקטגוריה כללי. אפשר להגיע לכאן עם קישור ישיר.

תגובה אחת על הגנת HotLink לסקריפט Xmoov באמצעות קוד PHP

  1. פינגבאק: פרצת אבטחה בפורטל דרושים Drushim.co.il | אבי קינן – מחשבים וכו'

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *