Direct URL access

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Niels Peeren

Niels Peeren

22/11/2012 23:42:47
Quote Anchor link
Mijn site opbouw is alsvolgt.

ik heb de index , dan een map genaamd php en daarin al me php bestanden.

wat de bedoeling is , ik wil dat als er in de url bar wordt ingevuld : www.domein.com/php/bestandsnaam.php

dat deze niet toegankelijk is. maar als ik op mijn site zit en ik klik op een link
(<a href="php/bestandsnaam">) dat het bestand dan wel toegankelijk is voor de gebruiker.

ik ben al een tijdje bezig met de .htacces file maar nog geen succes gehad. wat ik heb geprobeerd is :
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
# This folder does not require access over HTTP
# (the following directive denies access by default)

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.deomein.com/.*$ [NC]
RewriteRule \.(php|gif|jpg|png|mpg|mov)$ - [F]


Order allow,deny


is er iemand die mij hiermee kan helpen?

Toevoeging op 23/11/2012 00:03:25:

ohja ook is er een folder genaamd pagina's in de php folder met php inc bestanden die worden geinclude in de index. ook hier zit een htacces file in. deze werkt wel vanwege dat het geinclude wordt.
 
PHP hulp

PHP hulp

22/12/2024 09:04:14
 
Frank Nietbelangrijk

Frank Nietbelangrijk

23/11/2012 00:35:00
Quote Anchor link
En hoe moet jouw server dan weten of iemand via jouw link (<a href="php/bestandsnaam">) bij www.domein.com/php/bestandsnaam.php komt of rechtstreeks?

Geef daar nu zelf eens antwoord op :)

Dat gaat dus niet werken! een bestand van welk type dan ook is of wel of niet publiekelijk toegankelijk. Hoe men daar dan komt heeft daar niets mee te maken.

Wat wel kan is buiten je php directory een php bestand maken die wel door gebruikers geladen kan worden waarna binnen het php script de bestanden in een 'gesloten directory' ingeladen geworden.

een Deny from all in .htaccess zorgt ervoor dat die directory niet publiek toegankelijk is maar wel vanuit je php script
Gewijzigd op 23/11/2012 00:39:12 door Frank Nietbelangrijk
 
Niels Peeren

Niels Peeren

23/11/2012 08:15:58
Quote Anchor link
en wat zou dan een goeie manier zijn om het dus vanuit een php script aan te roepen? , het is zegmaar een script dat ik op mijn homepage op een link klik en het script update dan een variabele in de database naar +1 , dit moet via die knop kunnen maar niet door de url in te typen. dus stel ik zou hem in de htacces zetten. hoe kan ik dan alsnog dat script banaderen vanuit een ander php script?
 
- Ariën  -
Beheerder

- Ariën -

23/11/2012 09:13:09
Quote Anchor link
.htaccess zou ik als ik jouw was vergeten.
Je kan een define() defineeren.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
define("ALLOWED", true);


In je uitvoerende script kijk je of die define bestaat:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
if(ALLOWED) {
// uitvoeren
} else {
echo "Access denied!";
}


Nog mooier is om het script buiten de webroot te plaatsen.
Gewijzigd op 23/11/2012 09:14:17 door - Ariën -
 
Remco nvt

Remco nvt

23/11/2012 09:14:51
Quote Anchor link
Wat is het doel van deze constructie? Dus wat wil je bereiken.
Wellicht zijn er veel betere oplossingen dan deze omslachtige manier.

Zoals een random GET var in de url die je in de sessie bewaard en vergelijkt.
Dus <a href="php/test.php?check=#%$@^@DGDWu502">test</a>

En als je geen $_GET['check'] hebt of hij is niet gelijk aan #%$@^@DGDWu502 die ook in $_SESSION['check'] staat dan mag het script niet worden uitgevoerd.

Dus wat is het doel?
 
Niels Peeren

Niels Peeren

23/11/2012 09:22:17
Quote Anchor link
het is een soort wereld waar je in loopt bestaande uit vierkantjes. als ik op de pijl naar boven klik moet hij de y positie van de user 1 omhoog doen , maar als hij de url gewoon mijn site.com/php/naarboven.php intpyt moet dit niet mogelijk zijn voor de gebruiker

Toevoeging op 23/11/2012 09:24:13:

en mijn sessie staat gelijk aan mn username , en die wordt niet in de url balk weergegeven , mijn checks zijn dus where Username =$_SESSION['Username']
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.