hide file paths from links

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

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

Απάντηση
Άβαταρ μέλους
giannis17
Honorary Member
Δημοσιεύσεις: 1215
Εγγραφή: 06 Ιαν 2005 19:50
Τοποθεσία: Παγκράτι - Αθήνα
Επικοινωνία:

hide file paths from links

Δημοσίευση από giannis17 » 07 Ιαν 2005 00:52

Φτιάχνω ένα site. Ξέρω html αλλά php μαθαίνω εδώ και μια βδομάδα και ειμαι ακόμα αρκετά αρχάριος. Το site μου θέλω να έχει ένα πίνακα με 3 στήλες. Και στη μεσσαία στήλη να είναι τα περιεχόμενα των επιμέρους σελίδων. Αυτό το έχω ξανακάνει με iframes σε html. Λοιπόν όρισα μια μεταβλητή $inc global και έβαλα και if ($inc == NULL) $inc = "site/home.htm" για να μη φορτώνει άδεια η σελίδα. Μετά στη μεσαία στήλη του πίνακα υπάρχουν οι εξής γραμμές (και δουλεύει κανονικότατα) :
<?php
global $inc;
include $inc;
?>
Και τα link είναι της μορφής ....index.php?inc=site/arxeio.htm (αυτό φαίνεται και στην address bar) Και αυτό είναι το πρόβλημα μου. Θέλω να κρύψω το path των αρχείων. Δοκίμασα τα εξής και δε δούλεψαν
1)
<?php
global $inc;
if ($inc == "home") {
$inc = "site/home.htm"
} elseif (($inc == "games") {
$inc = "site/games.htm"
} ....klp arxeia
include $inc;
?>
άλλαξα και τα link σε index.php?inc=home κλπ και το maguma studio (php editor) μου βγάζει notice: include (unable to parse) . Νόμισα πως έκανα κάποιο λάθος στη σύνταξη και δοκίμασα και το επόμενο...αλλά πάλι τα ίδια.
2)
<?php
global $inc;
if ($inc == "home") {
include "site/home.htm"
} elseif (($inc == "games") {
include "site/games.htm"
} ....klp arxeia
?>
και τελικά δοκίμασα και κάτι ανορθόδοξο...
3)
<?php
global $inc;
include 'site/' & $inc & '.htm';
?>
Αλλά πάλι τίποτα...εν το μεταξύ όλα τα παραπάνω τα έχω δοκιμάσει με όλους τους πιθανούς συνδυασμούς (μονά ' , διπλά " , με παρενθέσεις και χωρίς). Δε ξέρω τι άλλο να κάνω...2 μέρες προσπαθώ. Όποιος μπορεί να με βοηθήσει παρακαλώ...θα σπάσω το κεφάλι μου. :hammer:
:question:
Σημείωση : Ο web server τρέχει στο pc μου (windows 2000 pro sp4) και είναι Apache 2.0.5.2 με PHP 5.0.3 και MySQL 4.1 και λειτουργεί κανονικότατα....επίσης στο php.ini έχω βάλει register globals = on
"There is only one problem with common sense; it’s not very common."
&#8211; Milt Bryce

Άβαταρ μέλους
giannis17
Honorary Member
Δημοσιεύσεις: 1215
Εγγραφή: 06 Ιαν 2005 19:50
Τοποθεσία: Παγκράτι - Αθήνα
Επικοινωνία:

hide file paths from links

Δημοσίευση από giannis17 » 07 Ιαν 2005 10:30

Λοιπόν βρήκα μια λύση:
<?php
global $inc;
include("site/".$inc.".htm");
?>
Έτσι δουλέυει και τουλάχιστον φαίνεται μόνο το όνομα του αρχείου χωρίς το φάκελο και τη κατάληξη. Αν κάποιος ξέρει πώς να εμφανίζω άσχετα με το αρχείο πράγματα στην address bar παρακαλώ να μου το πει...ευχαριστώ.
"There is only one problem with common sense; it’s not very common."
&#8211; Milt Bryce

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

hide file paths from links

Δημοσίευση από Rapid-eraser » 07 Ιαν 2005 10:44

katarxiv afto pou prospa8eis va kaveis eivai eva apo ta kiriotera security problimata pou parousiazovte stnv php
Legete file inclusion kai mporei va odigisei kai katastreptikes katastaseis to script sou.
skepsou va exeis eva admin panel kapoios va pavei va balei to ?inc=../admin/index
!!!!

Katarxiv afto pou kaveis me to preapent eivai o poio sostos tropos . Dld prodiloveis eva path kai epitrepeis movo mesa se afto to path va briskeis arxeia.
omos gia va givei pio sostos o kodikas sou xriazovte dio pragmata

eva tnv function basename kai tnv file_exists

n proti metatrepei to onoma se base name dld
/admin/index 8a to kavei sketo index
kai n defterei elegxei av to path tou arxeiou kataligei se arxeio pou iparxei sto file system.
ara pio sosta 8a eprepe va ntav kapos etsi

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

<?
if&#40;$_GET&#91;"inc"&#93;&&file_exists&#40;basename&#40;$_GET&#91;"inc"&#93;&#41;&#41;&#41;&#123;
include"path/to/".$_GET&#91;"inc"&#93;.".htm";
else&#123;
include"/path/to/page.htm";
&#125;
?>
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

Άβαταρ μέλους
giannis17
Honorary Member
Δημοσιεύσεις: 1215
Εγγραφή: 06 Ιαν 2005 19:50
Τοποθεσία: Παγκράτι - Αθήνα
Επικοινωνία:

hide file paths from links

Δημοσίευση από giannis17 » 08 Ιαν 2005 12:19

Ok...se efxaristw poli...vevaia opos eipa eimai arxarios akoma kai argisa ligo na katalavw ti ennoouses alla de peirazei. Allaksa ligo tis domes twn fakelwn sto site moy kai twra pistevw den yparxei prob. An thes tsekare to kai esy....opos eipa den einai oute 2 mines pou asxoloume me web developing kai ta epiasa na ta mathw ola mazi :P :kaloe:
Twra kanw kai post sto "peite ti gnwmi sas gia ti selida moy" .
Exw periergia na dw ti tha poun :lol:
An pali sou einai efkolo tha me endiefere mia lysi pou na mi periexei katholou stoixeia tou filename (px ...index.php?inc-54351 kai na kanei include to home.htm (evala kai to index.php mesa sto .../site/))
Efxaristw kai pali.
"There is only one problem with common sense; it’s not very common."
&#8211; Milt Bryce

Απάντηση

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

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

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