כללי למתענינים בחפירות בעינייני סקריפטים בלבד....

  • הוסף לסימניות
  • #1
פתאום גיליתי פונקציה מאד מסוכנת ומוזרה שיש בגאווה סקריפט
שמה EVAL
והיא קולטת טקסט מהמשתמש, ומפעילה אותו כקוד!!!
(מישהו אמר הזרקת קוד זדוני?)

אז כתבתי סקריפט קטן שמראה את הדבר בפעולה.
לא שאני יכול לחשוב למה הוא יהיה שימושי...
אבל מי יודע..

סקריפט זה פותח חלון קטן שבו ניתן להקליד קוד וללחוץ בצע, והוא יבוצע!
השימוש באחריותכם בלבד...
קוד:
#target inDesign
#targetengine avihail
with (myWIn=new Window ("palette","הקלד פקודה")){
    add("StaticText",undefined,"הקלד קוד גאווה סקריפט רצוי");
    m =add ("edittext", [0, 0, 150, 70], "", {multiline: true});
    m.characters=20;
m.text="alert(\"מה השגעון הזה???\");"
      m.minimumSize=[200,200]; 
myBott=  add("button",undefined,"run");  
    }

myBott.onClick=function(){
    eval(m.text);
    };
myWIn.show();
$.gc()
$.gc()
 
  • הוסף לסימניות
  • #2
למה שגעון?
ומה הבעיה בזה?
 
  • הוסף לסימניות
  • #3
בעיה ידועה מאוד. יש להתרחק מ-eval, בפרט באתרים, ששם אפשר ממש לפרוץ לשרת בקלות. ובסקריפט, אפשר לגרום לסקריפט לקרוס בקלות, וכן לפרוץ למחשב.
 
  • הוסף לסימניות
  • #4
נכתב ע"י אריאל וו;1372484:
בעיה ידועה מאוד. יש להתרחק מ-eval, בפרט באתרים, ששם אפשר ממש לפרוץ לשרת בקלות. ובסקריפט, אפשר לגרום לסקריפט לקרוס בקלות, וכן לפרוץ למחשב.

באתרים זה מאד מובן..
אבל בסקריפט שהלקוח מריץ על המחשב שלו,
לאן הוא יכול לפרוץ?
 
  • הוסף לסימניות
  • #5
עובד שעובד בחברה גדולה יכול להיות שלא נותנים לו גישה לכל המחשב, אלא רק לתוכנות שהוא צריך. וכך הוא יוכל לפרוץ את המחשב.

אבל באמת כשאתה המשתמש לכאורה אין סכנה כל-כך גדולה.

אגב, למה אתה מוסיף garbage collection בסוף, ולמה פעמיים?
 
  • הוסף לסימניות
  • #6
נכתב ע"י אריאל וו;1372561:
עובד שעובד בחברה גדולה יכול להיות שלא נותנים לו גישה לכל המחשב, אלא רק לתוכנות שהוא צריך. וכך הוא יוכל לפרוץ את המחשב.

אבל באמת כשאתה המשתמש לכאורה אין סכנה כל-כך גדולה.

אגב, למה אתה מוסיף garbage collection בסוף, ולמה פעמיים?

מצאתי פעם עצה כזו בפורום...
בנסיון להתגבר על דליפת הזכרון שעלולה להווצר מהשימוש בפאלט.
אבל אני לא ממש מבין בדבר.
אשמח לשמוע ממך עצה טובה יותר.
 
  • הוסף לסימניות
  • #7
נכתב ע"י eliezer;1372648:
מצאתי פעם עצה כזו בפורום...
בנסיון להתגבר על דליפת הזכרון שעלולה להווצר מהשימוש בפאלט.
אבל אני לא ממש מבין בדבר.
אשמח לשמוע ממך עצה טובה יותר.

פאלט? שו הדא?

לא ראיתי אף-אחד שמשתמש ב-GC. כולם סומכים על העובדה שזה קורה לבד בשלב מסויים. אולי בסקריפט ששואב המון משאבים יהיה לזה צורך, אבל נראה לי שבסקריפטים קטנים שלנו אפשר לוותר על זה.
 
  • הוסף לסימניות
  • #8
פאלט=palette
לא מפריע לך שכל המשתנים נשארים בזכרון התוכנה בקביעות מי יודע עד מתי?

מ"מ כנראה שאכן אין הרבה ברירות...
תודה
 
  • הוסף לסימניות
  • #9
לא ידעתי שמשתנים נשארים בתוכנה אחרי סיום הסקריפט. הרי אם תבדוק ב-ESTK אחרי שנגמר הסקריפט, תראה שהם כבר אינם קיימים.

בכל אופן, זה לא יכול להזיק!
 
  • הוסף לסימניות
  • #10
:(
נכתב ע"י אריאל וו;1373041:
לא ידעתי שמשתנים נשארים בתוכנה אחרי סיום הסקריפט. הרי אם תבדוק ב-ESTK אחרי שנגמר הסקריפט, תראה שהם כבר אינם קיימים.

בכל אופן, זה לא יכול להזיק!

בפלאט ורק בו. הם כן. נסה להריץ פלאט ובו כמה סטטיק טקסטים.
ואחרי שתסגור אותו. גש אליהם ותראה שתקבל תשובה ולא ריק.
 

פרוגבוט

תוכן שיווקי
פרסומת

הצטרפות לניוזלטר

איזה כיף שהצטרפתם לניוזלטר שלנו!

מעכשיו, תהיו הראשונים לקבל את כל העדכונים, החדשות, ההפתעות בלעדיות, והתכנים הכי חמים שלנו בפרוג!

לוח מודעות

הפרק היומי

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


תהילים פרק כה

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