@linuxs ευχαριστω φιλε. Βασικα εχει οδηγο εγκαταστασης το φορουμ για php / mysql / apache κτλπ??? Αν δεν εχει μπορω να ανεβασω εναν οδηγο ατακα και επιτοπου.... ειτε σημερα ειτε μεσα στην βδομαδα...
Συντονιστής: konnn

Αποστόλης έγραψε:Κατά πρώτον, η διαφορά ανάμεσα στο /var/www/first.php και το /var/www/mypage/first.php είναι οτι το πρώτο αφορά μια σελίδα που βρίσκεται στον Apache, και το δεύτερο αφορά μια σελίδα που βρίσκεται σε έναν υποφάκελο του Apache.
Αν αφήσεις τον server σου στην πρώτη μορφή τότε θα έχεις ένα και μοναδικό site.
Αν τον φτιάξεις με την δεύτερη μορφή μπορείς να έχεις πολλά sites.
Το πως άστο για αργότερα για να μην μπερδευτείς.
Πάμε στο θέμα μας...
Οταν ένας χρήστης δίνει στον browser το http://www.yamaha τότε ο Apache τον ανακατευθύνει αυτόματα στον φάκελο /var/www/yamaha/
Αν δώσει κάτι σε στύλ /var/www/yamaha/ θα δει απλώς ένα error 404 File not found. Που σημαίνει οτι από τον brower δεν μπορεί να δεί οτι υπάρχει "πάνω" από τον φάκελο yamaha. Μόνο με ftp πρόγραμμα. Γι αυτό και τα ports μαζί με τους ftp φακέλους είναι τα πρώτα που "θωρακίζονται" σε έναν server. Γι αυτό επίσης τα ftp προγράμματα πρέπει να ανιχνέυονται συνέχεια για trojan, virus κ.λ.π.
Αρα λοιπόν ο επίδοξος χάκερ θα πρέπει να βρει άλλον τρόπο να "μπει" στον server. Πράγμα που, όπως είπαμε, είναι πιο δύσκολο.
Τώρα, μην σε μπερδεύει το r στα αρχεία.
Η ανάγνωση είναι ανάγνωση και τίποτε περισσότερο. Είναι αρκετή ώστε η html - php - asp να διαβάσει και να εκτελέσει ένα αρχείο.
Αυτό που θα πρέπει να αποφεύγεις είναι το w και το x.
Εκτός απροόπτου αυτά τα δικαιώματα δίνονται μόνο σε συγκεκριμένους φακέλους. Συνήθως σε αυτούς που ο χρήστης πρέπει να κάνει upload ή download ένα αρχείο.
Αυτό που σου λέω εγώ είναι λίγο διαφορετικό.
Εστω οτι έχεις το αρχείο first.php.
Μέσα σε αυτό έχεις σε κάποιο σημείο τα:
$host = "myhost";
$user = "me";
$password = "123";
$database = "my_db";
Αν λοιπόν για οποιοδήποτε λόγο κάποιος δει αυτές τις λεπτομέρειες τα πράγματα είναι σκούρα.
Για ποιό λόγο να δει αυτές τις λεπτομέρειες;
Γιατί έχεις ξεχάσει τα errors ανοιχτά και δημιουργήθηκε πρόβλημα στην php ή/και mysql και τα έβγαλε όλα φόρα παρτίδα.
Γιατί κάποιος έτρεξε κάποια μυστήρια εντολή στο address bar (ναι, όσο κι αν ακούγεται παράξενο αν γράψεις μια mysql εντολή στην address bar θα εκτελεστεί αν δεν έχεις πάρει τα μέτρα σου! λέγεται mysql injection).
Από κάποιο λάθος στην εγκατάσταση μπορεί να σου στείλει το αρχείο σαν plain txt.
Υπάρχουν κάμποσοι λόγοι που μπορεί κάποιος να σου "κλέψει" το passsword.
Είναι τόσο εύκολο; Ευτυχώς όχι.
Είναι πιθανόν; Δυστυχώς ναι.
Και φαντάσου στη βάση του site να κρατούνται πιστωτικές, λογαριασμοί κ.λπ. κ.λ.π.
Την βάψατε όλοι μαζί και ο καθένας χώρια...
Τι μπορείς να κάνεις;
Αντικειμενοστραφής προγραμματισμός
class My_Login {
private function My_Login_Data() {
$host = "myhost";
$user = "me";
$password = "123";
$database = "my_db";
}
}
+ encrypted passwords
+ το first.php πάνω από το document root.
Για σημαντικές συναλαγές χρησιμοποιούνται και SSL (Secure Socket Layers)
Υπερβολικό;
Πιθανώς, πάντως ή το κάνεις ή μας λες τι τσιγάρα καπνίζεις να σου φέρνουμε-![]()
Μην ξεχνάς οτι οι "κλέφτες" είναι πάντα ένα βήμα μπροστά απο την "αστυνομία" και παρ' όλα αυτά τα μέτρα πάλι δημιουργούνται προβλήματα.
9/10 λόγο αφέλειας, ή βιασύνης ή αφηρημάδας.
Επαναλαμβάνω οτι όλα αυτά θα τα δείς και θα τα κατανοήσεις στην πορεία.
Δεν θα στα έλεγα αλλά αυτό το θέμα είναι πολύ σημαντικό.
Κάνε συνήθεια αυτή την πρακτική ακόμα κι αν δεν ξέρεις τι και πως.


Αποστόλης έγραψε:Εντάξει, δεν μπορείς να κόψεις την ανάγνωση από ένα αρχείο. Αν το κάνεις θα είναι απλώς ένα αρχείο που πιάνει χώρο στο δίσκο σου.
Τίποτε άλλο.
Οπως έγραψες, το shadow έχει δικαιώματα r για τον owner και τον user και w για τον owner.
Αντίστοιχα τα files σε ένα web server έχουν τα ίδια δικαιώματα συν το r για everyone.
Αλλιώς δεν θα μπορεί να διαβάσει κάποιος επισκέπτης την σελίδα.
Αυτό που σου γράφω για τους φακέλους είναι για περιπτώσεις ειδικές, όπου πρέπει να μπορείς να διαβάζεις-εκτελείς αρχεία.
Κάτι αντίστοιχο συμβαίνει και στα pc. Αν έχεις δυο users ή δύο pc σε δίκτυο και θέλεις να δεις ένα αρχείο στον υπολογιστή του άλλου πρέπει να έχει δικαιώματα read.
Αν θέλεις να τροποποιήσεις κάποιο αρχείο, δικαιώματα write κ.ο.κ.
Δεν αλλάζει κάτι.
Για την τεκμηρίωση που αναφέρεις με μπέρδεψες λίγο. Για τους φακέλους ρωτάς;
Πάντως ότι σου έχω γράψει το αναφέρω βάση εμπειρίας (μιας και αυτή είναι η δουλειά μου).
Επίσης άποψη μου είναι οτι αν θέλεις να ασχοληθείς "σοβαρά" με κάτι, μην πηδάς απο θέμα σε θέμα.
Οπως είχε πει και κάποιος σε ένα έργο: μην υπηρετείς δυο αφέντες.
Βέβαια αυτό είναι η δική μου γνώμη.
Για σένα μπορεί να δουλεύει καλύτερα ο δικός σου τρόπος.

$myImage=ImageCreate(150,150);
Fatal error: Call to undefined function ImageCreate() in /var/www/eikones_stin_PHP.php on line 2 kostas@kostas-SSL:/var/www$ php -v
PHP 5.3.3-1ubuntu9.5 with Suhosin-Patch (cli) (built: May 3 2011 00:48:48)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
kostas@kostas-SSL:/var/www$



<?
$myimage=imagecreate(150,150);
?>
Fatal error: Call to undefined function imagecreate() in /var/www/eikones_stin_PHP.php on line 4 sudo apt-get install php5-gd 

Αποστόλης έγραψε:Απ' ότι είδα η imageceate δεν ενεργοποιείται απο default κατά την εγκατάσταση, οπότε σωστά έκανες το apt-get install php5-gd.
Επειτα ανοίγεις το /etc/apache2/conf.d/gd.ini και τσεκάρεις οτι το extension=gd.so είναι uncomment.
Επειτα, /etc/init.d/apache2 reload
Επαιξε κανονικά.
Χρησιμοποίησα και το παράδειγμα στο manual (http://php.net/manual/en/function.imagecreate.php) και έτρεξε μια χαρά.
Μήπως ξέχασες να κάνεις reload τον Apache;
kostas@kostas-SSL:/var/www$ whereis php5-gd
php5-gd:
kostas@kostas-SSL:/var/www$ locate php5-gd
kostas@kostas-SSL:/var/www$
sudo apt - get install php5-gd sudo /etc/init.d/apache2 reload http://www.boutell.com/gd 