PHP, απορίες.

...IDE, compilers, κλπ

Συντονιστής: konnn

Re: PHP απορίες.

Δημοσίευσηαπό Star_Light » 30 Μαρ 2011, 21:44

αντε και μολις μαθω τα βασικα θα σηκωσω και εναν οδηγο!!!!! Υπαρχει στο φορουμ οδηγος για αυτα που συζηταμε??? Εγκατασταση του apache / mysql κτλπ?

Καλα μπορω να πω 2-3 πραγματα για αυτα και να δωσω μερικες εντολες σε SQL για την δημιουργια μιας απλης βασης δεδομενων.
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: PHP απορίες.

Δημοσίευσηαπό Αποστόλης » 30 Μαρ 2011, 23:00

Τελικά δούλεψε το display_errors;
Σου εμφάνισε το error που δοκίμασες;
Γνώσεις ⇛ Linux:Μέτριο┃ Προγραμματισμός:Ναι ┃ Αγγλικά: Αρκετά Καλά
Λειτουργικό ⇛ Arch Linux 64bit ┃ Ubuntu Studio 10.4 64bit
Προδιαγραφές ⇛ HP Pavillion dv7 1199ev ┃ Intel 2 Core Duo T 9400, 2.53 Ghz ┃ 4GB ┃ NVIDIA GeForce 9600M GT ┃ Intel 82801I (ICH9 Family) HD Audio ┃ TFT 17" 1440x900
Αποστόλης
punkTUX
punkTUX
 
Δημοσιεύσεις: 170
Εγγραφή: 24 Ιουν 2009, 13:09
Εκτύπωση

Re: PHP απορίες.

Δημοσίευσηαπό Star_Light » 31 Μαρ 2011, 11:06

Αποστόλης έγραψε:Τελικά δούλεψε το display_errors;
Σου εμφάνισε το error που δοκίμασες;


Ναι ολα οκ!!! Απλα επρεπε μετα τις ρυθμισεις που εκανα να δωσω την

Κώδικας: Επιλογή όλων
sudo /etc/init.d/apache2 restart
:D

ευχαριστω!!!!!
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: PHP, απορίες.

Δημοσίευσηαπό Star_Light » 29 Μάιος 2011, 18:01

Καλησπερα και παλι....

ηθελα να κανω ενα τεστακι με το αρχειο php.ini και συγκεκριμενα στην ντιρεκτιβα include_path ηθελα να συμπεριλαβω και τον HOME μου ωστε να μην δινω στην συναρτηση include ολοκληρο το PATH ενος αρχειου ας πουμε αλλα μονο το ονομα του.

ΠΙο συγκεκριμενα

Κώδικας: Επιλογή όλων
kostas@kostas-SSL:/etc/php5/apache2$ cat php2.ini | grep include_path
; (directory must also be in include_path or full path must
;include_path = ".:/usr/share/php:/home/kostas"
;include_path = ".;c:\php\includes"
; PHP's default setting for include_path is ".;/path/to/php/pear"


το php2.ini ειναι backup του php.ini και στα 2 μετα εκανα τις ρυθμισεις να δω αλλα και παλι το προβλημα δεν διορθωθηκε...
θελω να πω πως οταν παω να τρεξω κωδικα που εχει μεσα την συναρτηση include για να ενσωματωσω ή να ανοιξω ενα αρχειο μου πεταει το εξης λαθος

Κώδικας: Επιλογή όλων
Warning: include(test): failed to open stream: No such file or directory in /var/www/mathima_13.php on line 2 Warning: include(): Failed opening 'test' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/mathima_13.php on line 2

kostas@kostas-SSL:/var/www$ cat mathima_13.php
Κώδικας: Επιλογή όλων

<?
include("test");

?>


ιδου και ο κωδικας... χρησιμοποιησα και την include_once αντι της κανονικης include αλλα και παλι τζιφος... καμια βοηθεια ???????
ευχαριστω!
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: PHP, απορίες.

Δημοσίευσηαπό Αποστόλης » 29 Μάιος 2011, 18:58

1. Το php2.ini δεν θα παίξει εκτός κι αν το δηλώσεις στο php.ini

2. To .:/usr/share/php:/home/kostas δεν υφίσταται όταν θέλεις να κάνεις include (ή require) ένα αρχείο στην php
υπάρχει μόνο το ../ ή το $_SERVER['DOCUMENT_ROOT']."/path/"; όταν το αρχείο είναι μέσα στο directory.
Αυτό που έχεις ποστάρει εσύ είναι ειδική ρύθμιση στο php.ini
edit Συγκεκριμένα εκεί αναφέρεται το path το οποίο θα χρησιμοποιήσει η php για να εκτελέσει τις php εφαρμογές που έχουν γραφτεί σε pear.
http://pear.php.net/
Για να σου δώσω μια απλή εικόνα, η pear είναι κάτι σαν fork της php όπου γράφουν δικές τους εφαρμογές.
Για παράδειγμα επειδή στα windows δεν δουλεύει κάποια ειδική συνάρτηση (getmxrr) που βρίσκει αν ισχύει το δεύτερο μισό μιας mail διεύθυνσης, κάθισαν κι έγραψαν ολόκληρη εφαρμογή που να κάνει αυτό το πράγμα στα windows. Για να παίξει αυτή η εφαρμογή πρέπει να είναι εγκατεστημένη η pear και οι βιβλιοθήκες της (dll).

Εστω λοιπόν οτι το file σου βρίσκεται στον φάκελο test που βρίσκεται μέσα στον φάκελο kostas που βρίσκεται μέσα στον φάκελο scriptakia και το test.php βρίσκεται στον αρχικό φάκελο mysite
Αν λοιπόν θέλεις να κάνεις include ένα αρχείο ή θα το κάνεις ως include (../../../test.php)
ή ως $_SERVER['DOCUMENT_ROOT']."/test.php";
Αν το file σου βρίσκεται έξω από το web root θα πάιξει μόνο ο πρώτος τρόπος.
Συνήθως όμως δεν υπάρχει λόγος να βρίσκεται έξω από το document root εκτός κι αν συντρέχει πολύ σημαντικός λόγος.
Για παράδειγμα εκεί βάζουμε μόνο τα scripts που κρατάνε το username/pasword/db name για να κάνουμε connect με μία βάση δεδομένων.
Ο λόγος είναι προφανής, αν κάποιος μας χακάρει τη σελίδα να μην μπορεί να δείς τις ρυθμίσεις και μας κλέψει/τσακίσει όλα τα data που έχουμε στη βάση.
Αλλιώς είναι περιττό όλο αυτό.

3. Τα include - include_once - require - require_once δεν έχουν καμμία διαφορά όσον αφορά τα path και τον τρόπο που καλείς ένα αρχείο σε ένα script.
Είτε βάλεις include είτε βάλεις include_once, αν το αρχείο δεν είναι στο σωστό path είναι ένα και το αυτό.

4. Με τον καιρό θα εξοικειωθείς με τα μηνύματα και θα καταλαβαίνεις αμέσως τι παίζει.
Το μήνυμα Warning: include(test): failed to open stream: No such file or directory in /var/www/mathima_13.php
στο λέει πεντακάθαρα.
Δεν υπάρχει το αρχείο/φάκελος (No such file or directory) εκεί που μου λες να ψάξω
Γνώσεις ⇛ Linux:Μέτριο┃ Προγραμματισμός:Ναι ┃ Αγγλικά: Αρκετά Καλά
Λειτουργικό ⇛ Arch Linux 64bit ┃ Ubuntu Studio 10.4 64bit
Προδιαγραφές ⇛ HP Pavillion dv7 1199ev ┃ Intel 2 Core Duo T 9400, 2.53 Ghz ┃ 4GB ┃ NVIDIA GeForce 9600M GT ┃ Intel 82801I (ICH9 Family) HD Audio ┃ TFT 17" 1440x900
Αποστόλης
punkTUX
punkTUX
 
Δημοσιεύσεις: 170
Εγγραφή: 24 Ιουν 2009, 13:09
Εκτύπωση

Re: PHP, απορίες.

Δημοσίευσηαπό Star_Light » 30 Μάιος 2011, 14:16

Αποστόλης έγραψε:1. Το php[b]2.ini δεν θα παίξει εκτός κι αν το δηλώσεις στο php.ini[/b]

2. To .:/usr/share/php:/home/kostas δεν υφίσταται όταν θέλεις να κάνεις include (ή require) ένα αρχείο στην php
υπάρχει μόνο το ../ ή το $_SERVER['DOCUMENT_ROOT']."/path/"; όταν το αρχείο είναι μέσα στο directory.
Αυτό που έχεις ποστάρει εσύ είναι ειδική ρύθμιση στο php.ini
edit Συγκεκριμένα εκεί αναφέρεται το path το οποίο θα χρησιμοποιήσει η php για να εκτελέσει τις php εφαρμογές που έχουν γραφτεί σε pear.
http://pear.php.net/
Για να σου δώσω μια απλή εικόνα, η pear είναι κάτι σαν fork της php όπου γράφουν δικές τους εφαρμογές.
Για παράδειγμα επειδή στα windows δεν δουλεύει κάποια ειδική συνάρτηση (getmxrr) που βρίσκει αν ισχύει το δεύτερο μισό μιας mail διεύθυνσης, κάθισαν κι έγραψαν ολόκληρη εφαρμογή που να κάνει αυτό το πράγμα στα windows. Για να παίξει αυτή η εφαρμογή πρέπει να είναι εγκατεστημένη η pear και οι βιβλιοθήκες της (dll).

Εστω λοιπόν οτι το file σου βρίσκεται στον φάκελο test που βρίσκεται μέσα στον φάκελο kostas που βρίσκεται μέσα στον φάκελο scriptakia και το test.php βρίσκεται στον αρχικό φάκελο mysite
Αν λοιπόν θέλεις να κάνεις include ένα αρχείο ή θα το κάνεις ως include (../../../test.php)
ή ως $_SERVER['DOCUMENT_ROOT']."/test.php";
Αν το file σου βρίσκεται έξω από το web root θα πάιξει μόνο ο πρώτος τρόπος.
2.Συνήθως όμως δεν υπάρχει λόγος να βρίσκεται έξω από το document root εκτός κι αν συντρέχει πολύ σημαντικός λόγος.
Για παράδειγμα εκεί βάζουμε μόνο τα scripts που κρατάνε το username/pasword/db name για να κάνουμε connect με μία βάση δεδομένων.
Ο λόγος είναι προφανής, αν κάποιος μας χακάρει τη σελίδα να μην μπορεί να δείς τις ρυθμίσεις και μας κλέψει/τσακίσει όλα τα data που έχουμε στη βάση.
Αλλιώς είναι περιττό όλο αυτό.


3. Τα include - include_once - require - require_once δεν έχουν καμμία διαφορά όσον αφορά τα path και τον τρόπο που καλείς ένα αρχείο σε ένα script.
Είτε βάλεις include είτε βάλεις include_once, αν το αρχείο δεν είναι στο σωστό path είναι ένα και το αυτό.

4. Με τον καιρό θα εξοικειωθείς με τα μηνύματα και θα καταλαβαίνεις αμέσως τι παίζει.
Το μήνυμα Warning: include(test): failed to open stream: No such file or directory in /var/www/mathima_13.php
στο λέει πεντακάθαρα.
Δεν υπάρχει το αρχείο/φάκελος (No such file or directory) εκεί που μου λες να ψάξω


Καλησπερα. Και σε ευχαριστω πολυ για το αρκετα εκτενες και επεξηγηματικο υφος της απαντησης σου. Το ειχα μυριστει και εγω οτι μπορει να μην δουλεψει το backup αρχειο php2.ini που πηγα να φτιαξω. Το αλλο με τον καταλογο και την σχετικη του διαδρομη ή απολυτη? πως λεγεται δεν θυμαμαι δεν το εχω δοκιμασει ακομη , οταν το δοκιμασω θα σου πω. Απλα ηθελα να παιξω λιγο με τις ντιρεκτιβες και να εξοικιωθω περισσοτερο δεν υπαρχει καποιος σοβαρος λογος.

Τωρα σχετικα με το 2. επειδη με ενδιαφερει αρκετα και η ασφαλεια... εννοεις οτι ο /var/www στον οποιο μπαινουν τα σκριπτακια της php για να κανει καποιος τροποποιηση σε ενα αρχειο θελει δικαιωματα root. Βεβαια δεν εχεις δικαιωμα για τροποποιηση των αρχειων ... δικαιωμα για προσπελαση και να δεις τις ρυθμισεις εχεις... αρα πως δεν μπορεις να δεις τις ρυθμισεις αν καταφερεις και αρχισεις τις ερωτησεις στον υπολογιστη / σερβερ που εχει τους καταλογους με τα αρχεια??? :geek: :geek: :geek:
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: PHP, απορίες.

Δημοσίευσηαπό Αποστόλης » 30 Μάιος 2011, 15:58

θα χρησιμοποιήσω ονόματα ώστε να είμαι όσο πιο κατανοητός γίνεται. Αν υπάρχει πρόβλημα ας το σβήσουν οι admin.
Η σωστή χρήση είναι η εξής:

/var/www/yamaha/
/var/www/honda/
var/www/ducati/
κ.λ.π. κ.λ.π.
τα path αυτά αποτελούν τα sites σου.
μέσα στον κάθε τελευταίο φάκελο (honda-yamaha-ducati) είναι που αποθηκεύεις όλα τα αρχεία και τους φακέλους που αποτελούν το site σου
π.χ.
/var/www/yamaha/index.php - η αρχική σελίδα που βλέπεις όταν πληκτρολογείς http://www.yamaha.gr
/var/www/yamaha/sales/sales.php
/var/www/yamaha/sales/offers.php
/var/www/yamaha/spareparts/gears.php
/var/www/yamaha/spareparts/suspension.php
/var/www/yamaha/images/
/var/www/yamaha/images/spareparts/
κ.λ.π. κ.λ.π.
Υπόψιν οτι το www θα το βρείς ή έτσι ή public_html ή http

Κάποια από αυτά τα αρχεία (έστω τα gears.php - suspension.php) μπορεί να συνδέονται με κάποια βάση ώστε να κάνουν queries για να φέρουν ή να καταχωρήσουν ή να ενημερώσουν εγγραφές.
Για να συνδεθείς με τη βάση πρέπει να δώσεις στο script τα host,username,password,db name.
Αυτά τα στοιχεία είτε τα δίνεις σε κάθε script, πράγμα που δεν σε συμφέρει γιατί αν αλλάξεις κάτι θα χρειαστεί να αλλάξεις κάθε ένα script-και αν είναι πολλά τα αρχεία κάηκες, ή τα βάζεις σε ένα αρχείο που το καλείς (με include κ.ο.κ.) κάθε φορά που θέλεις να επικοινωνήσεις με την βάση.
Οταν τα στοιχεία αυτά τα γράφεις μέσα στο κάθε file ή σε ένα αρχείο που βρίσκεται κάτω από /var/www/yamaha/ είναι πιο εύκολο να στο χακάρει κάποιος και να δει τον κωδικό, το όνομα της βάσης κ.λπ.
Δεν είναι παιχνιδάκι για μωρά αλλά δεν είναι και κάτι τραγικό.
Οι ίδιες οι σελίδες στέλνουν πάρα πολλά δεδομένα. Ανοιξε μια οποιαδήποτε σελίδα και κάνε προβολή->κώδικας σελίδας να δεις οτι ήδη δίνεις σε κάποιον πολλές πληροφορίες.
Αν όμως το αρχείο το τοποθετήσεις στο /var/www/ τότε ο άλλος πρέπει να χακάρει τον apache.
Κάτι που είναι πάρα πολύ πιο δύσκολο.
Αν και εφόσον βέβαια τηρούνται κάποιοι κανόνες ασφαλείας. Που συνήθως τηρούνται.

Ισως ακόμα είναι λίγο advance αυτή η λογική για σένα αλλά επειδή είναι πολύ σημαντικό κομμάτι και επειδή οι καλές συνήθειες αποκτούνται στα πρώτα βήματα καλό είναι να το ψάξεις λιγάκι και να το εμπεδώσεις ώστε να σου γίνει συνήθεια.
Γνώσεις ⇛ Linux:Μέτριο┃ Προγραμματισμός:Ναι ┃ Αγγλικά: Αρκετά Καλά
Λειτουργικό ⇛ Arch Linux 64bit ┃ Ubuntu Studio 10.4 64bit
Προδιαγραφές ⇛ HP Pavillion dv7 1199ev ┃ Intel 2 Core Duo T 9400, 2.53 Ghz ┃ 4GB ┃ NVIDIA GeForce 9600M GT ┃ Intel 82801I (ICH9 Family) HD Audio ┃ TFT 17" 1440x900
Αποστόλης
punkTUX
punkTUX
 
Δημοσιεύσεις: 170
Εγγραφή: 24 Ιουν 2009, 13:09
Εκτύπωση

Re: PHP, απορίες.

Δημοσίευσηαπό Star_Light » 30 Μάιος 2011, 19:05

χιλια ευχαριστω... και παλι... αλλα νομιζω πως εχω ακομη μια απορια...

και ο /var/www & o /var/www/yamaha εφοσον ειναι κατω απο τον /var δεν ειναι εξισου προστατευμενοι????

δηλαδη υπαρχει ας πουμε μεγαλη διαφορα του /var/www/first.php απο το /var/www/mypage/first.php???

και αν ναι γιατι???? :S επισης δεν μπορω να καταλαβω...

Κώδικας: Επιλογή όλων
kostas@kostas-SSL:~/PROGRAMS$ ls -l /var/www
σύνολο 60
-rw-r--r-- 1 root root 430 2011-05-14 22:32 email_app.html


ολοι δεν εχουν δικαιωμα αναγνωσης σε αυτον??? ΟΠως φαινεται.....
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: PHP, απορίες.

Δημοσίευσηαπό Αποστόλης » 31 Μάιος 2011, 12:08

Κατά πρώτον, η διαφορά ανάμεσα στο /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)
Υπερβολικό;
Πιθανώς, πάντως ή το κάνεις ή μας λες τι τσιγάρα καπνίζεις να σου φέρνουμε- :lol:
Μην ξεχνάς οτι οι "κλέφτες" είναι πάντα ένα βήμα μπροστά απο την "αστυνομία" και παρ' όλα αυτά τα μέτρα πάλι δημιουργούνται προβλήματα.
9/10 λόγο αφέλειας, ή βιασύνης ή αφηρημάδας.


Επαναλαμβάνω οτι όλα αυτά θα τα δείς και θα τα κατανοήσεις στην πορεία.
Δεν θα στα έλεγα αλλά αυτό το θέμα είναι πολύ σημαντικό.
Κάνε συνήθεια αυτή την πρακτική ακόμα κι αν δεν ξέρεις τι και πως.
Γνώσεις ⇛ Linux:Μέτριο┃ Προγραμματισμός:Ναι ┃ Αγγλικά: Αρκετά Καλά
Λειτουργικό ⇛ Arch Linux 64bit ┃ Ubuntu Studio 10.4 64bit
Προδιαγραφές ⇛ HP Pavillion dv7 1199ev ┃ Intel 2 Core Duo T 9400, 2.53 Ghz ┃ 4GB ┃ NVIDIA GeForce 9600M GT ┃ Intel 82801I (ICH9 Family) HD Audio ┃ TFT 17" 1440x900
Αποστόλης
punkTUX
punkTUX
 
Δημοσιεύσεις: 170
Εγγραφή: 24 Ιουν 2009, 13:09
Εκτύπωση

Re: PHP, απορίες.

Δημοσίευσηαπό linuxs » 31 Μάιος 2011, 19:29

Star_Light έγραψε:Προσφατα ξεκίνησα να διαβαζω λιγο php

εχω ξεκινησει ηδη να προσπαθω να συνταξω λιγο κωδικα!

Ξερει κανεις ομως γιατι δεν μου τρεχει το παρακατω απλο προγραμματακι??? :(

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

<?php
$myVar=0;
$anotherVar="String!"
$myArray=array();
$_type1=(int) 1;
$_type2=(float) 5.1243;
$_type3=(string) "Xaraktires";
?>

<html>
<head>
<title> hello </title>
</head>
<body>
<?php
echo $myVar;
?>
</body>
</html>


εχω σωστη την καταληξη και τα σκριπτακια php τα εχω μεσα στον /var/www

το ονομα του αρχειου ειναι first.php και οταν παω να το καλεσω

http://localhost/first.php μου βγαζει μια κενη σελιδα ενω εγω θελω να δω το αποτελεσμα 0.

Π.Σ Σε αυτο το θρεντ μπορουμε να δινουμε ολοι τις αποριες μας και να αλληλοβοηθουμαστε!!!!


Για να μπορείς να βλέπεις php στον υπολογιστή σου θα πρέπει να εγκαταστήσεις καποια πράγματα. Έκανα μια απ´οπειρα πριν κανα διμηνο αλλα ήρθαν άλλα και δεν το συνέχεισα. Το καλοκαιράκι θα πέσει κάψιμο... !!!! :)
Αν το πρόβλημά μας επιλυθεί. Επιλέγουμε το θέμα που βοήθησε στην επίλυση και πατάμε το κουμπάκι Εικόνα.
Γνώσεις ⇛ Linux: Μέτριο┃Προγραμματισμός: C┃Αγγλικά: Καλά
Λειτουργικό ⇛ Linux Ubuntu 10.4 LTS
Προδιαγραφές ⇛ Intel Pentium @T4500 2.3GHz│ 512GB VRAM│ 500 HDD│ ATI RADEON HD545v 512 MB │ Screen: 15.6''
Άβαταρ μέλους
linuxs
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1060
Εγγραφή: 02 Ιούλ 2010, 13:19
Τοποθεσία: GR
IRC: linuxs
Εκτύπωση

ΠροηγούμενηΕπόμενο

Επιστροφή στο Εφαρμογές για Ανάπτυξη Λογισμικού