<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[כדי שהשרת יזהה לקוח באמצעות $_SERVER[&#x27;HTTP_HOST&#x27;]]]></title><description><![CDATA[<p dir="auto">אני עושה מערכת שאוכל לפתוח אותה לכמה לקוחות שלכל אחד יהיה דומיין נפרד. השרת כרגע מזהה את המערכת לפי המשתנה $_SERVER['HTTP_HOST'].</p>
<p dir="auto">שאלות:</p>
<ol>
<li>
<p dir="auto">אני לא יודע מה המנגנון של HTTP. אז האם שייך 'לזייף' דהיינו לפנות לשרת בדומיין X כאשר בפניה מגדירים מידע של דומיין אחר למשתנה $_SERVER['HTTP_HOST']? (אני מאמין שלא, רק רוצה להיות בטוח).</p>
</li>
<li>
<p dir="auto">האם צריך / כדאי לעשות עוד הפרדה בתוך השרת שיהיה לכל דומיין דברים נפרדים (אני מעלה אפשרויות: שרת אפאצ'י נפרד לכל דומיין /  IP נפרד, או משהו אחר)? וא"כ אז אם אפשר כיוון ל'איך עושים את זה'?</p>
</li>
</ol>
<p dir="auto">תודה.</p>
]]></description><link>https://tchumim.com/topic/5531/כדי-שהשרת-יזהה-לקוח-באמצעות-_server-http_host</link><generator>RSS for Node</generator><lastBuildDate>Sun, 15 Mar 2026 04:28:54 GMT</lastBuildDate><atom:link href="https://tchumim.com/topic/5531.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 24 May 2019 15:46:34 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to כדי שהשרת יזהה לקוח באמצעות $_SERVER[&#x27;HTTP_HOST&#x27;] on Sun, 26 May 2019 22:05:00 GMT]]></title><description><![CDATA[<p dir="auto">אני אוהב להחזיק מסד אחד לכל המערכת, ולחלק למודולים (שיש טבלאות ספציפיות שמשוייכות לכל מודול).<br />
כמו"כ למשתמשים ג"כ יש הרשאות (ע"פ תנאי HOST +משתמש) למודולים הספציפיים.</p>
]]></description><link>https://tchumim.com/post/61859</link><guid isPermaLink="true">https://tchumim.com/post/61859</guid><dc:creator><![CDATA[chagold]]></dc:creator><pubDate>Sun, 26 May 2019 22:05:00 GMT</pubDate></item><item><title><![CDATA[Reply to כדי שהשרת יזהה לקוח באמצעות $_SERVER[&#x27;HTTP_HOST&#x27;] on Sun, 26 May 2019 21:07:15 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/dovid">@<bdi>dovid</bdi></a> אני מבין שזה חוסך את המסד הגלובלי, אם כי בד"כ בלאו הכי הרבה פעמים יש צורך להחזיק מסד כזה בשביל עוד כמה דברים. כגון אם אתה לא רוצה לאפשר לכל המשתמשים את אותם יכולות של התוכנה, אלא רק למי שעשה מנוי לדברים מסוימים. או אם יש לך חבילות לפי שימוש וכדו', ואתה רוצה לדעת כמה הלקוח השתמש. זה דברים שלא היית רוצה להחזיק בDB של הלקוח הספציפי, אלא באחד כללי של כל המערכת.</p>
]]></description><link>https://tchumim.com/post/61852</link><guid isPermaLink="true">https://tchumim.com/post/61852</guid><dc:creator><![CDATA[avr416]]></dc:creator><pubDate>Sun, 26 May 2019 21:07:15 GMT</pubDate></item><item><title><![CDATA[Reply to כדי שהשרת יזהה לקוח באמצעות $_SERVER[&#x27;HTTP_HOST&#x27;] on Sun, 26 May 2019 20:53:42 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/chagold">@<bdi>chagold</bdi></a> אני לא מבין בדיוק מה אתה עושה, לכן אני לא יכול לענות לך בדיוק.<br />
בגדול אם נח לך יישום אחד לכל הלקוחות, אלא שלפי הדומיין אתה רוצה שהיישום יטפל בבקשה, אז אתה לא צריך ngnix (זה סתם תמיד מומלץ אבל לא נוגע לעכשיו) וכפי שאמרת אתה יכול לבדוק את ההידר host.<br />
(אני מבין שאתה בעצם עושה מה ש@avr416 הציע באפשרות השניה רק שבמקום ללכת לפי משתמשים אתה מתייחס לדומיינים, ו@avr416 שים לב שזה יכול לחסוך מסד של משתמשים גלובלי כי לפי הדומיין מתחברים למסד המתאים בו יש משתמשים רק של אותו לקוח).<br />
אם אתה רוצה יישום לכל לקוח, כלומר שאם לקוח אחד למשל גורם לשגיאה והיישום נופל אז של הלקוח השני ימשיך לעבוד, אז אתה בעצם מריץ מופעים של יישומים כמספר הלקוחות. היישומים לא יכולים להאזין לפורט 80 כי רק יישום אחד יכול לטפל בפורט נתון, פה בא הnginx ומאפשר לך להאזין בפורט 80 למשל לכלל הלקוחות ולפי דומיין להפנות ליישום (פורט) המתאים בתוך השרת.</p>
<p dir="auto">לגבי 2, התשובה היא שכן.</p>
]]></description><link>https://tchumim.com/post/61850</link><guid isPermaLink="true">https://tchumim.com/post/61850</guid><dc:creator><![CDATA[dovid]]></dc:creator><pubDate>Sun, 26 May 2019 20:53:42 GMT</pubDate></item><item><title><![CDATA[Reply to כדי שהשרת יזהה לקוח באמצעות $_SERVER[&#x27;HTTP_HOST&#x27;] on Sun, 26 May 2019 18:39:42 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/%D7%99%D7%95%D7%A1%D7%A3-%D7%91%D7%9F-%D7%A9%D7%9E%D7%A2%D7%95%D7%9F">@<bdi>יוסף-בן-שמעון</bdi></a> עשיתי מערכת של סשנים.<br />
ולפי מה שאתה אומר, אז אצלי כיון שבעצם הנתונים מתקבלים כמו API, אני יכול לסנן את הדומיין הרלוונטי לפי הheader  HOST.</p>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/dovid">@<bdi>dovid</bdi></a> שתי שאלות על ngnix:</p>
<ol>
<li>
<p dir="auto">ענית לשאלה איך אפשר לעשות, או האם אני מרוויח מזה? כי אם כן, מה באמת הרווחתי? (בכ"א אפשר לעקוב אחרי רשימת הכתובות שמפנות לIP שלי כמו ש@יוסף-בן-שמעון כתב). אא"כ כוונתך ע"י הngnix לעשות location לשרתים אחרים?</p>
</li>
<li>
<p dir="auto">כדי לעשות location לשרתים אחרים, האם יש אפשרות לעשות את הניתובים ע"י שימוש בסקריפט, או שחייב להיות שכל פעם שיש לקוח חדש אז אצטרך להוסיף קבצים ולעשות ריסטרט לngnix?</p>
</li>
</ol>
<p dir="auto">תודה</p>
]]></description><link>https://tchumim.com/post/61838</link><guid isPermaLink="true">https://tchumim.com/post/61838</guid><dc:creator><![CDATA[chagold]]></dc:creator><pubDate>Sun, 26 May 2019 18:39:42 GMT</pubDate></item><item><title><![CDATA[Reply to כדי שהשרת יזהה לקוח באמצעות $_SERVER[&#x27;HTTP_HOST&#x27;] on Sun, 26 May 2019 11:24:20 GMT]]></title><description><![CDATA[<p dir="auto">על שאלה 1 <a class="plugin-mentions-user plugin-mentions-a" href="/user/%D7%99%D7%95%D7%A1%D7%A3-%D7%91%D7%9F-%D7%A9%D7%9E%D7%A2%D7%95%D7%9F">@<bdi>יוסף-בן-שמעון</bdi></a> ענה מצויין.<br />
על שאלה 2 זה בהחלט אפשרי, מומלץ ע"י ngnix.</p>
]]></description><link>https://tchumim.com/post/61743</link><guid isPermaLink="true">https://tchumim.com/post/61743</guid><dc:creator><![CDATA[dovid]]></dc:creator><pubDate>Sun, 26 May 2019 11:24:20 GMT</pubDate></item><item><title><![CDATA[Reply to כדי שהשרת יזהה לקוח באמצעות $_SERVER[&#x27;HTTP_HOST&#x27;] on Sun, 26 May 2019 06:30:28 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/chagold">@<bdi>chagold</bdi></a> אמר ב<a href="/post/61698">כדי שהשרת יזהה לקוח באמצעות $_SERVER['HTTP_HOST']</a>:</p>
<blockquote>
<p dir="auto">אני עושה מערכת שאוכל לפתוח אותה לכמה לקוחות שלכל אחד יהיה דומיין נפרד. השרת כרגע מזהה את המערכת לפי המשתנה $_SERVER['HTTP_HOST'].<br />
תודה.</p>
</blockquote>
<p dir="auto">אין לי תשובה לשאלות שלך.. אבל אני מנסה להבין איזה בעיה אתה מנסה לפתור:<br />
יש לך מערכת אחת שהיא אותו דבר, אלא שאתה רוצה שלכל לקוח יהיה דומיין  משלו.<br />
אתה רוצה שהמערכת תזהה את הלקוח לפי הדומיין.</p>
<p dir="auto">אני לא מבין מדוע אתה רוצה לזהות את הלקוח לפי הדומיין, אתה צריך לזהות את הלקוח לפי שם משתמש וסיסמה, ואז אתה מפנה אותו למערכת עם הנתונים הרלבנטיים אליו.</p>
<p dir="auto">למיטב ידיעתי, הדרך הסטנדרטית לעשות את מה שאתה רוצה, דהיינו שיש מערכת שהיא אותו דבר, אלא שיש לה כמה לקוחות שונים, יש ב' אפשרויות (שהם די דומות):<br />
אפשרות א. יש דטהבייס משותף לכל הלקוחות, ולכל רשומה יש שדה עם מזהה של הלקוח, ככה שאתה שולף רק את השדות של אותו לקוח.<br />
אפשרות ב. יש לכל לקוח דטהבייס נפרד לחלוטין, ויש דטהבייס נוסף שמחזיק את הנתונים של המשתמש + הקונקשיין סטרינג של הדטהבייס שלו.</p>
<p dir="auto">ב2 האפשרויות המערכת היא אחת, היא רצה על שרת אחד, ככה שאתה יכול לתת לכל לקוח איזה דומיין שתרצה, אבל בהגדרות הDNS של הדומיין אתה מפנה את כולם לאותה כתובת IP.<br />
המערכת מציגה לכולם את אותו דף התחברות, ואחרי לוגין עם שם משתמש וסיסמה: באפשרות א. היא מביאה לו רק את הנתונים הרלבנטיים אליו. באפשרות ב. היא מחברת אותו לדטה בייס שלו ונותנת לו את הנתונים הרלבנטיים אליו.</p>
<p dir="auto">גם אם יש לך מודולים שלא פתוחים לכל המשתמשים - אתה עדיין יכול לנהל את זה בדטהבייס, ואחרי שאתה מזהה את המשתמש אתה יודע איזה מודולים אפשר להציג לו ואיזה לו.</p>
]]></description><link>https://tchumim.com/post/61724</link><guid isPermaLink="true">https://tchumim.com/post/61724</guid><dc:creator><![CDATA[avr416]]></dc:creator><pubDate>Sun, 26 May 2019 06:30:28 GMT</pubDate></item><item><title><![CDATA[Reply to כדי שהשרת יזהה לקוח באמצעות $_SERVER[&#x27;HTTP_HOST&#x27;] on Sat, 25 May 2019 22:13:48 GMT]]></title><description><![CDATA[<p dir="auto">בכלל דומיין זה לא דבר חסוי, זה רשום בשרתי DNS ציבוריים וכל הרוצה מקבל מידע, אפשר לקבל בקלות את הרשימה של הדומיינים שמפנים לשרת שלך, אז אי אפשר לאבטח מידע בצורה הזו (אא"כ אתה מדבר על רשת אירגונית פנימית עם שרת DNS עצמאי...)</p>
]]></description><link>https://tchumim.com/post/61708</link><guid isPermaLink="true">https://tchumim.com/post/61708</guid><dc:creator><![CDATA[יוסף בן שמעון]]></dc:creator><pubDate>Sat, 25 May 2019 22:13:48 GMT</pubDate></item><item><title><![CDATA[Reply to כדי שהשרת יזהה לקוח באמצעות $_SERVER[&#x27;HTTP_HOST&#x27;] on Sat, 25 May 2019 22:04:38 GMT]]></title><description><![CDATA[<p dir="auto">בודאי שאפשר לזייף, בעיקרון הבקשה ב HTTP פונה לכתובת IP, וכלול בבקשה header בשם HOST שאומר לשרת לאיזה דומיין הלקוח מעוניין לפנות, והשרת עושה את הסינון שלו לפי ההגדרות שלו.<br />
אם אתה רוצה לאבטח מידע, אתה חייב להשתמש במערכת אימות ועוגיות אותנטיקה, אין לי מושג איך עושים את זה ב PHP</p>
]]></description><link>https://tchumim.com/post/61707</link><guid isPermaLink="true">https://tchumim.com/post/61707</guid><dc:creator><![CDATA[יוסף בן שמעון]]></dc:creator><pubDate>Sat, 25 May 2019 22:04:38 GMT</pubDate></item></channel></rss>