Safe upload

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Άβαταρ μέλους
Knorcedger
Script Master
Δημοσιεύσεις: 1226
Εγγραφή: 18 Μάιος 2004 04:29
Επικοινωνία:

Safe upload

Δημοσίευση από Knorcedger » 24 Φεβ 2006 03:43

Καλημέρα.

Χρησιμοποιώ το παρακάτω script για να κάνω upload αρχεία μέσα από το flash, όμως από τα λίγα που ξέρω, αυτό το script δεν είναι και τόσο ασφαλές. Μπορεί καποιος να μου πει "ελέγχους" πρέπει να βαλώ, και me poiew entolew na toyw balv, για να πeριορίσω τα uploads ώστε να γίνονται μονο από το αρχείο μου και όχι από οποιονδήποτε, αλλα και όποιο άλλο προβλημα μπορει να προκυψει

Κώδικας: Επιλογή όλων

<?php
    $uploadpath = $_GET&#91;'path'&#93;;
    foreach &#40;$_FILES as $fieldName => $file&#41; &#123;
		echo move_uploaded_file&#40;$file&#91;'tmp_name'&#93;, "$uploadpath/" .$folder . $file&#91;'name'&#93;&#41;;
	&#125;
?>
Ευχαριστώ
Εικόνα
myUbuntu.gr[Ελληνικός οδηγός για Ubuntu]

Άβαταρ μέλους
Basilakis
PHP Moderator
Δημοσιεύσεις: 8574
Εγγραφή: 17 Νοέμ 2003 13:03
Τοποθεσία: Womans' Brain
Επικοινωνία:

Safe upload

Δημοσίευση από Basilakis » 24 Φεβ 2006 14:26

Να γίνονται μόνο απο το αρχείο σου den to κατάλαβα. Εάν θέλεις να ανεβάζεις μόνο εσύ χρειάζεσε admin panel. Εάν ενωείς να ανεβαίνουν μόνο απο το flash αρχείο soy και όχι σαν εκτελέσιμο αρχείο php δεν νομίζω πως γίνετε. Τώρα πές μας τι αρχεία θέλεις να μπλοκάρέις για να "βάλουμε" τους περιορισμούς ;)

Άβαταρ μέλους
Knorcedger
Script Master
Δημοσιεύσεις: 1226
Εγγραφή: 18 Μάιος 2004 04:29
Επικοινωνία:

Safe upload

Δημοσίευση από Knorcedger » 24 Φεβ 2006 15:04

Έχω ένα αρχείο flash (Wiew gallery) που ανεβάζει αρχεία (εικόνες).

Για να γίνει να δώσω την εντολή για το upload μέσα από το flash, δίνω

Κώδικας: Επιλογή όλων

file.upload&#40;"upload.php?path="+path&#41;;
όπου path ειναι το folder στο οποιο θα γίνει το upload.

Όμως, αν δεν κανω λάθος, μπορεί καποιος άσχετος, να χρησιμοποιήσει το αρχειο upload.php για να κάνει upload μια φωτογραφία ή κάτι άλλο, χωρίς να χρησιμοποιήσει το αρχείο flash. Αυτό ακριβως θελω να αποτρέψω.

(τα αρχεία flash και upload.php βρισκονται στο ίδιο domain, στο ίδιο folder, μπορεί αυτό να χρησιμοποιηθεί ως περιορισμός; )
Εικόνα
myUbuntu.gr[Ελληνικός οδηγός για Ubuntu]

Άβαταρ μέλους
iffor
Δημοσιεύσεις: 778
Εγγραφή: 14 Μάιος 2005 01:19
Τοποθεσία: Παράδεισος
Επικοινωνία:

Safe upload

Δημοσίευση από iffor » 24 Φεβ 2006 15:20

και αν στο flash μέσα έχεις το εξής

Κώδικας: Επιλογή όλων

file.upload&#40;"upload.php?upload=1&path="+path&#41;;
και στο upload.php επιτρέπεις να εκτελείτε το "ανέβασμα" εφόσον

Κώδικας: Επιλογή όλων

$upload==1
και εφόσον το $_SERVER[HTTP_REFERER] αναφέρεται στο domain σου!

( απλοικό παράδειγμα φυσικά! :wink: )
μια νέα αρχή ξεκίνησε...
ένας καινούριος δρόμος άνοιξε...
redpanda.gr

Άβαταρ μέλους
Knorcedger
Script Master
Δημοσιεύσεις: 1226
Εγγραφή: 18 Μάιος 2004 04:29
Επικοινωνία:

Safe upload

Δημοσίευση από Knorcedger » 24 Φεβ 2006 15:55

Ευχαριστώ για την βοήθεια, όμως

το προβλημα με το πρωτο ειναι ότι μπορει καποιος να δει τον κώδικά μου, και να δει ποια μεταβλητη στελνω στο upload.php, και έτσι να παρακάμψει αυτο τον περιορισμό.

Όσο για το δευτερο, δεν λειτουργει σε internet explorer (όταν γίνεται το redirect από ένα αρχείο flash), οπότε μου είναι άχρηστο

Κάποια άλλη ιδέα;
Εικόνα
myUbuntu.gr[Ελληνικός οδηγός για Ubuntu]

Άβαταρ μέλους
Basilakis
PHP Moderator
Δημοσιεύσεις: 8574
Εγγραφή: 17 Νοέμ 2003 13:03
Τοποθεσία: Womans' Brain
Επικοινωνία:

Safe upload

Δημοσίευση από Basilakis » 24 Φεβ 2006 20:05

Sto gallery anevazeis mono esy fwtografies oi opois thelei? Ean eisai mono esy password tote.. Ean oxi...

Tha dwsw mia idea alla den kserw ean mporei na efarmostei as mas pei kapoios poio expert ;)
Mporeis sthn forma tou upload na valei na kanei check to url kai ean einai to domain sou na to epitrepei..

Άβαταρ μέλους
Knorcedger
Script Master
Δημοσιεύσεις: 1226
Εγγραφή: 18 Μάιος 2004 04:29
Επικοινωνία:

Safe upload

Δημοσίευση από Knorcedger » 24 Φεβ 2006 20:35

Φυσικά και υπάρχει password με md5 στο αρχείο flash.

Η ερώτηση μου αφορα το αρχείο upload.php. Τι μπορω να κανω για να μην αφηνω καποιον να ανεβασει ένα δικο του αρχειο, χωρις να χρησιμοποιήσει το αρχείο flash.
Εικόνα
myUbuntu.gr[Ελληνικός οδηγός για Ubuntu]

Άβαταρ μέλους
Basilakis
PHP Moderator
Δημοσιεύσεις: 8574
Εγγραφή: 17 Νοέμ 2003 13:03
Τοποθεσία: Womans' Brain
Επικοινωνία:

Safe upload

Δημοσίευση από Basilakis » 24 Φεβ 2006 20:39

Ayto soy lew kai egw. Na valeis kai pass sto upload... Opote tha sou zhtaei pass gia na kaneis access to arxeio. H kalytera gia na kaneis submit ;)

Άβαταρ μέλους
Knorcedger
Script Master
Δημοσιεύσεις: 1226
Εγγραφή: 18 Μάιος 2004 04:29
Επικοινωνία:

Safe upload

Δημοσίευση από Knorcedger » 24 Φεβ 2006 20:50

Μου έδωσες μια πολυ καλη (νομιζω) ιδέα.

Ο χρηστης δίνει μια φορά τον κωδικο μέσα στο flash, και μετα να στελνω αυτον τον κωδικό και στο αρχείο upload.php και να γίνεται εκει πάλι έλεγχος μέσω του md5.

Έχω την αισθηση ότι αυτο θα λύσει το προβλημα μου, σωστά;

Δεν ξερω αν και εσυ εννουσες το ίδιο, αλλα για πες μου, νομιζεις ότι θα πιάσει, θα ειναι ασφαλες?
Εικόνα
myUbuntu.gr[Ελληνικός οδηγός για Ubuntu]

Άβαταρ μέλους
Basilakis
PHP Moderator
Δημοσιεύσεις: 8574
Εγγραφή: 17 Νοέμ 2003 13:03
Τοποθεσία: Womans' Brain
Επικοινωνία:

Safe upload

Δημοσίευση από Basilakis » 24 Φεβ 2006 20:53

Και εγώ το ίδιο έλεγα... Πιστεύω πως θα είναι ασφαλές... ;)

Άβαταρ μέλους
Knorcedger
Script Master
Δημοσιεύσεις: 1226
Εγγραφή: 18 Μάιος 2004 04:29
Επικοινωνία:

Safe upload

Δημοσίευση από Knorcedger » 24 Φεβ 2006 20:55

Tnx.

Τωρα τίθεται άλλο θεμα. Το πως θα πέρνω το md5 string του κωδικού από το αρχείο XML καθως δεν σκαμπαζω και πολλά από php, αλλα θα το παλεψω, και αν δεν τα καταφερω, θα... ξαναερθω :D
Εικόνα
myUbuntu.gr[Ελληνικός οδηγός για Ubuntu]

Άβαταρ μέλους
Basilakis
PHP Moderator
Δημοσιεύσεις: 8574
Εγγραφή: 17 Νοέμ 2003 13:03
Τοποθεσία: Womans' Brain
Επικοινωνία:

Safe upload

Δημοσίευση από Basilakis » 24 Φεβ 2006 20:57

kala tha kaneis... Kai den exw kai kanena tutorial pouthena na sou dwsw...

Άβαταρ μέλους
iffor
Δημοσιεύσεις: 778
Εγγραφή: 14 Μάιος 2005 01:19
Τοποθεσία: Παράδεισος
Επικοινωνία:

Safe upload

Δημοσίευση από iffor » 25 Φεβ 2006 00:11

hello!
Πραγματικά δεν είχα ιδέα ότι δεν παίζει το HTTP_REFERER σε ΙΕ!
Να σε ρωτήσω, upload κάνουν όλοι, ή έχεις χρήστες;
Αν έχεις χρήστες, απλός στο upload.php αρχείο βάλε το script-ακι που χρησιμοποιείς για τον έλεγχο χρηστών και πιστεύω τελείωσες.
Αν δεν έχεις χρήστες και απλός θέλεις τα upload να γίνονται από το flash ( αν και δεν ξέρω τι μπορεί να κάνει το flash γενικώς ), φρόντισε όταν το flash κάνει redirect στο upload.php να θέτει και ένα session.
Και μετά, το upload.php αρχείο να εκτελείται εφόσον μπορεί να διαβάσει το session!
Δεν ξέρω αν έγινα πολύ κατανοητός! :wink:

Και δεν ξέρω αν στο flash μπορείς να στήσεις ένα session
ή έστω να στείλεις δεδομένα από POST ώστε, όπως λές, να μην μπορεί κάποιος να δεί εύκολα το κωδικό σου !

Πάντα φιλικά!
μια νέα αρχή ξεκίνησε...
ένας καινούριος δρόμος άνοιξε...
redpanda.gr

Άβαταρ μέλους
Knorcedger
Script Master
Δημοσιεύσεις: 1226
Εγγραφή: 18 Μάιος 2004 04:29
Επικοινωνία:

Safe upload

Δημοσίευση από Knorcedger » 25 Φεβ 2006 00:25

Upload κάνουν όλοι όσοι ξερουν τον κωδικο που ειναι κρυπτογραφημένος με md5.

Το upload.php ουσιαστικα δεν ανοιγει ποτέ, απλα πέρνει την εντολη για να κανει το ανεβασμα της εικονας, καθως αυτο δεν μπορει να το κανει το flash. Άρα, μαλλον αυτο με το session δεν μπορει να γίνει, σωστά;
Εικόνα
myUbuntu.gr[Ελληνικός οδηγός για Ubuntu]

Άβαταρ μέλους
iffor
Δημοσιεύσεις: 778
Εγγραφή: 14 Μάιος 2005 01:19
Τοποθεσία: Παράδεισος
Επικοινωνία:

Safe upload

Δημοσίευση από iffor » 25 Φεβ 2006 00:28

Και όμως, το upload.php "ανοίγει" όπως λές!
Αυτό κάνει όταν εκτελεί το ανέβασμα!
Για μένα, πάντως, θα αρκούσε να θέσεις στο αρχείο upload.php το script-ακι που χρησιμοποιείς και στα άλλα αρχεία για την ταυτοποίηση του χρήστη και να τελειώνεις!
μια νέα αρχή ξεκίνησε...
ένας καινούριος δρόμος άνοιξε...
redpanda.gr

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης