לגבי שימוש בשפת שרת (php)

איש פשוט

משתמש רשום
שלום.
אני מתכנת בjs בעיקר
ויש לי 2 שאלות לגבי השימוש שלי בphp..

1. אני משתמש בphp ומס פקודות sql בשביל להעביר jsonים לDB ובשביל לשלוף נתונים מהDB ולקבל אותם בjs כjson.
בעקרון מבחינתי בזה יכול להסתכם השימוש בphp ואת שאר הבדיקות והמוניפולציות על הjson אני יכול לבצע בעזרת הjs..
אלו דברים נוספים בד"כ אצטרך (בשביל בטיחות וכד') לבצע בשרת כלומר בphp?
2. אם השימוש שלי בphp מסתכם בנ"ל האם שימוש בframework php כגון laravel יכול להוסיף לי? אם כן מה?

תודה רבה!
 

איש פשוט

משתמש רשום
בטח זה יכול להוסיף לך!
המון המון כאב ראש.

קיצר, לא שימושי לך בכלל.
אני מבין שענית על השאלה השנייה.. תודה רבה!
אשמח לשמוע תשובות על שאר השאלות או עוד דעות.
אגב, צורת העבודה שאני מתאר (שמתכנת js ישתמש בphp רק לתקשורת עם הDB) היא לגיטימית ומקצועית?
 
נערך לאחרונה ב:

UU

משתמש סופר מקצוען
הנדסת תוכנה
לגבי השאלה הראשונה - מה שנוח לך ואתה יודע - זה טוב לבצע
א-ב-ל
ברגע שיש שליחת נתונים מהקליינט לסרבר וכל מה שה-PHP עושה זה רק להכניס את זה ל-DB - יכול האקר פשוט לנטרל את ה-JS שלך או לעבוד עליו ולשלוח לך פקודות ל-DB שימחקו אותו לגמרי למשל
לכן בדיקות תקינות על הקלט חייבות להתבצע גם בצד השרת.
מלבד זאת - זה תקין ונורמאלי, ואפילו "הולך" היום יותר (לדוגמא אנגולר עושה משהו מעיין זה)
לגבי השאלה השניה - עדיף בלי שום ספריה, חבל על הכוחות שלך. זה יסבך אותך. רק תצטרך לדאוג לכלכ מיני ענייני אבטחה בקלט (לדוגמא שלא נכנס שם HTML שחותך את הטקסט או אפילו מרכאות פשוטות)
בהצלחה
 

אפרת19

משתמש צעיר
אני לא מסכימה עם השיטה
היא מתעלמת מהעקרונות הכי חשובים בWEB
1. חורי אבטחה-
אתר שקוד השרת שלו לא תפור כמו שצריך, קודם כל חושף את הDB שלו לכל מיני צרות כמו SQL injections, וגם לסתם התקפות לא מתוחכמות כמו מניעת שירות (denial of service) סתם כי השרת לא מוגן מספיק מבוטים שטוחנים אותו, וקורס מעודף טראפיק.
בשלב הוולידציה- התפקיד היחיד של הקליינט זה שיפור מהירות- לחסוך פניות לשרת במקרה של שגיאה. זה לא תחליף לוולידציה בסרבר. כל מי שמבין טיפה בWEB עוקף את הקליינט בדקה. אני לא אומרת שהשרת חסין באגים, אבל הוא שכבת הגנה הרבה יותר משמעותית.
חוצמיזה- להזכירך- קוד הJS שלך רץ במחשב של המשתמש, ונגיש לו לחלוטין. אתה לא באמת מעוניין לחשוף לו את הלוגיקה שלך.

2. חווית משתמש גרועה-
הקליינט עושה רק את מה שהסרבר לא יכול לעשות. הוא לעולם לא מחליף אותו.
אין מה להשוות בין המהירות והעוצמה של PHP שרץ על מכונת שרת מול הדפדפן המסכן של הלקוח שלך. השרת פשוט עושה הכל הרבה יותר מהר.
לפי RAIL MODEL, אתר אינטרנט מודרני אמור להטען תוך 1000ms ולהגיב למשתמש (למשל אחרי לחיצה על כפתור) תוך 100ms. כדי להתקרב למספרים כאלה, אתה צריך לחשוב על כל שורה בJS- אם היא חייבת להיות שם או שהלוגיקה יכולה לשבת בשרת.

laravel פריימוורק מדהים ומודרני, חוסם SQL injections וחורי אבטחה נוספים כברירת מחדל, ובאופן כללי עושה בשבילך המון עבודה. תשקיע זמן ללמוד אותו, הוא יחזיר לך את הזמן הזה בכמויות העבודה שהוא חוסך.
 
נערך לאחרונה ב:

UU

משתמש סופר מקצוען
הנדסת תוכנה
laravel פריימוורק מדהים ומודרני, חוסם SQL injections וחורי אבטחה נוספים כברירת מחדל, ובאופן כללי עושה בשבילך המון עבודה. תשקיע זמן ללמוד אותו, הוא יחזיר לך את הזמן הזה בכמויות העבודה שהוא חוסך.
מניסיון - מאד קשה ללמידה, בפרט כשאין רקע.
יתכן שנכון להשקיע בלימוד שלו - מומלץלמצוא מישהו שמכיר את הספריה או לפחות את התחום ולא ללמוד לבד.
מה לגבי codeignator? עד כמה שידוע לי הוא גם כן טוב מבחינת אבטחה, ויותר קל ללמידה (ועדיין מצריך אותה)
 

s976

משתמש סופר מקצוען
הנדסת תוכנה
D I G I T A L
אני לא מסכימה עם השיטה
עם מה את לא מסכימה?
הוא רוצה לעשות את כל הלוגיקה בצד לקוח, ובשרת להשתמש רק לשמירה לDB. לגיטימי לחלוטין. וכמובן, יכול להיות תלוי בסוג פרויקט.

הקליינט עושה רק את מה שהסרבר לא יכול לעשות. הוא לעולם לא מחליף אותו.
מה המקור לקביעה מעניינת זו?

אין מה להשוות בין המהירות והעוצמה של PHP שרץ על מכונת שרת מול הדפדפן המסכן של הלקוח שלך. השרת פשוט עושה הכל הרבה יותר מהר.
למה הדפדפן של הלקוח מסכן? הדפדפן של הלקוח משתמש במעבד של המחשב, ובדרך כלל יש לו ביצועים לא רעים. לא ברור גם בייחס לאיזה שרת את משווה...
צריך גם לקחת בחשבון שהשרת הוא אחד, ואילו משתמשים הם רבים. יש לי פרויקט עם שרת ב5 דולר. ויש כ50 גולשים בו זמנית. ברור שאני מעדיף לאלץ את הדפדפנים שלהם לעבוד במקום לגרום לשרת לקרוס.
מלבד זאת, חלק גדול מהמשימות אינן דורשות משאבי מעבד משמעותיים. לעומת זאת פנייה לשרת תמיד אורכת זמן. למשל, אם צריכים לעשות איזה autocomplete על סמך מערך מ-100 (ולמעשה גם הרבה יותר) אלמנטים, אם נטעין את המערך כולו ללקוח, ושם נעשה את החיפוש, הכל יעבוד חלק עם חוויית משתמש מעולה. לעומת זאת, אם בהקלקת כל אות נפנה לשרת - זה יעבוד בצורה צולעת גם אם מדובר בשרת מאוד חזק.

בקיצור, לעניות דעתי אין בזה שום כלל גורף.
 

Avi300

משתמש פעיל
בתכלס, אם הידע שלך הוא js, תעבוד עם NodeJS. יש ספריות מעולות ונוחות לעבודה עם db. ולדיציה וכו'

לדעתי להשקיע זמן בלימוד של פריימוורק בphp זה בזבוז.
 

אפרת19

משתמש צעיר
מה המקור לקביעה מעניינת זו?

https://javax0.wordpress.com/2014/11/19/do-all-business-login-on-the-client-using-javascript/

https://www.quora.com/Where-should-...web-application-on-client-side-or-server-side

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

השקעה בשרת טוב תחזיר את עצמה במהירות של האתר וממילא גם בשביעות רצון של משתמשים ובדרוג בגוגל. אתה חי בעולם שבו 47% מהמשתמשים מצפים מאתר להטען תוך 2 שניות, ו40% עוזבים אותו אם הוא לא נטען תוך 3 שניות. למרות זאת, רמת הביצועים הממוצעת של המכשירים (3-4 GHZ בPC,
1-2 בטלפון) עדיין לא מספיקה בשביל לסמוך עליהם שיעשו את העבודה:

https://www.websitemagazine.com/blog/5-reasons-visitors-leave-your-website

https://www.thinkwithgoogle.com/data/average-mobile-page-load-time/

ברור שאני מעדיף לאלץ את הדפדפנים שלהם לעבוד במקום לגרום לשרת לקרוס.

ואולי לא. אם 5 דקות באתר שלך יגמרו לי את החבילה בטלפון, לא תראה אותי שם הרבה.:(

תעבוד עם NodeJS. יש ספריות מעולות ונוחות לעבודה עם db. ולדיציה וכו'

לדעתי להשקיע זמן בלימוד של פריימוורק בphp זה בזבוז

אין ספק שלכל שפת שרת יש יתרונות וחסרונות, אבל ללמוד להשתמש בפריימוורק איכותי בשפה שבה השרת שלו כתוב יביא לו רק רווח, מבחינת איכות הקוד, האבטחה וקלות התחזוקה.
לPHP, כמו לכל שפת שרת כמעט, יש חבילות מצוינות לעבודה עם כל דבר. NODEJS לא המציאו את רעיון הספריות....;)
 

s976

משתמש סופר מקצוען
הנדסת תוכנה
D I G I T A L
לא הצלחתי להבין מה רצית בשני המקורות שהבאת. מחברי שני המאמרים לא רואים שום בעיה בהעברת הלוגיה לצד הלקוח, אם לא שיש עם זה איזו בעיה ספציפית (למשל, בפרויקטים שלא רוצים לחשוף אל הלוגיה שלנו).
(ואני כבר לא מדבר על זה שזה סתם מאמרים עלומי שם)
 

אולי מעניין אותך גם...

הפרק היומי

הפרק היומי! כל ערב פרק תהילים חדש. הצטרפו אלינו לקריאת תהילים משותפת!


תהילים פרק קיט ב'

ט בַּמֶּה יְזַכֶּה נַּעַר אֶת אָרְחוֹ לִשְׁמֹר כִּדְבָרֶךָ:י בְּכָל לִבִּי דְרַשְׁתִּיךָ אַל תַּשְׁגֵּנִי מִמִּצְוֹתֶיךָ:יא בְּלִבִּי צָפַנְתִּי אִמְרָתֶךָ לְמַעַן לֹא אֶחֱטָא לָךְ:יב בָּרוּךְ אַתָּה יְהוָה לַמְּדֵנִי חֻקֶּיךָ:יג בִּשְׂפָתַי סִפַּרְתִּי כֹּל מִשְׁפְּטֵי פִיךָ:יד בְּדֶרֶךְ עֵדְוֹתֶיךָ שַׂשְׂתִּי כְּעַל כָּל הוֹן:טו בְּפִקֻּדֶיךָ אָשִׂיחָה וְאַבִּיטָה אֹרְחֹתֶיךָ:טז בְּחֻקֹּתֶיךָ אֶשְׁתַּעֲשָׁע לֹא אֶשְׁכַּח דְּבָרֶךָ:
נקרא  9  פעמים

לוח מודעות

למעלה