הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   שאלה בקשר להצגת תמונה בPHP (קל) (https://hosts.co.il/forums/showthread.php?t=58631)

MusicMan 03-01-08 20:23

אבל בשלב כל שהוא אני יעלה אותו...
ד"א יש פתרון לשאלה?

BlueNosE 03-01-08 20:41

אז תצטרך לאבטח כי יש בזה הרבה בעיות בסקריפט כזה.

Inet 03-01-08 21:10

בו נגיד את זה ככה: בעזרת טיפה עבודה אני מוריד לך את כל האתר =]....

BlueNosE 03-01-08 21:35

ציטוט:

נכתב במקור על ידי Inet (פרסם 597534)
בו נגיד את זה ככה: בעזרת טיפה עבודה אני מוריד לך את כל האתר =]....

אבל זה עדיין ברמת המחשב שלו, אז אין בעיה.. פשוט שידאג לאבטח את זה בהזדמנות הראשונה

MusicMan 04-01-08 10:27

לא נורא על השרת אין כלום חוץ מהתמונות...
מישו יודע מה הבעיה? למה זה לא עובד?

Elad-A 04-01-08 13:11

תנסה את זה:

PHP קוד:

<?php 

$img 
$_GET['i'];
$ext strtolower(array_pop(explode('.' $img)));
$allow_ext = array('png' 'bmp' 'gif' 'jpg');

if(!
in_array($ext $allow_ext))
{
    die(
'סיומת הקובץ לא מאופשרת להצגה');
}

if(!
file_exists($img))
{
    die(
'הקובץ לא נמצא על השרת');
}

echo 
"<img width=\"500\" height=\"400\" src=\"{$img}\" alt=\"image bla blalba\" />";

?>


MusicMan 04-01-08 20:10

תראו הצלחתי לבד (ואני מזה מבסוט אני בקושי יודע PHP) לשפץ את הקוד שנתנו לי פה והפכתי אותו לכזה:
PHP קוד:

<?php
$img
=$_GET['img'];
$img--;
echo 
"<a href=\"http://phpbbmods.freehost.co.il/pic/view.php?img={$img}\">  קודמת</a>";
$img++;
echo 
"<img src=\"http://phpbbmods.freehost.co.il/pic/ilcars%20%28{$img}%29.jpg\">";
$img++;
echo 
"<a href=\"http://phpbbmods.freehost.co.il/pic/view.php?img={$img}\"> הבאה</a>";
?>

עדיין יש בו חורים? כי אפשר לשים רק מספרים...
Elad-A תודה רבה לך! אני נראה לי ישלב בינהם..

BlueNosE 04-01-08 20:13

תראה,
בגלל שרשמת img-- - זה גורם לכל העניין להיות יותר פשוט.
בעצם ביצעת TYPE CASTING לINT בהנחה שהערך לא היה INT (אלא STRING למשל). וזה מאבטח את הקטע של XSS.

עכשיו יש עניין נוסף.. שזה לתת דברים שלא קיימים, אבל זה לא חובה לבצע - מה שכן, אתה יכול לבדוק האם הפונקצייה קיימת באמצעות.. file_exists.

www.php.net/file_exists

MusicMan 05-01-08 11:49

BlueNosE אני יודע C לכןהצלחתי לרשום את כל הקטע (C ממש דומה לPHP) אני ינסה להבין את ה file_exists
בקשר לINT איך אני מגדיר משתנה שיהיה כINT?

BlueNosE 05-01-08 12:21

תשמע זה לא חובה אם אתה כבר מראש יודע (נגיד $i = 50), אבל אם אתה לא יודע, נגיד מקבל מGET, אתה יכול להשתמש בפונקצייה intval או לרשום
PHP קוד:

$i = (intiger)$i



כל הזמנים הם GMT +2. הזמן כעת הוא 17:37.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ