Broncode uitlezen
Ik heb dit script in de hoofdpagina:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Admin</title>
<script type="text/javascript">
function showUser(stra,strb)
{
if (stra=="")
{
document.getElementById("txtHint").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET",stra+".php?slk="+strb,true);
xmlhttp.send();
}
</script>
</head>
<link rel="stylesheet" type="text/css" href="index.css">
<body onload="showUser('deelnemers','')">
<div id="txtHint" class="bigpane" style="float:left;min-height:50px;margin-top:25px;"> </div>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Admin</title>
<script type="text/javascript">
function showUser(stra,strb)
{
if (stra=="")
{
document.getElementById("txtHint").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET",stra+".php?slk="+strb,true);
xmlhttp.send();
}
</script>
</head>
<link rel="stylesheet" type="text/css" href="index.css">
<body onload="showUser('deelnemers','')">
<div id="txtHint" class="bigpane" style="float:left;min-height:50px;margin-top:25px;"> </div>
</body>
</html>
En uiteraard een pagina deelnemers.php
*Resultaat*
Het resultaat is dat bij de aanroep ik keurig de hoofdpagina én de deelnemerspagina te zien krijg.
Als ik in een willekeurige browser echter de broncode oproep, zie ik alleen de broncode van de hoofdpagina (met het javascript), en zie ik geen broncode van de deelnemers.php pagina.
*Vraag*
Kan deze broncode ook werkelijk niet opgeroepen worden in geen enkele browser?
*Notes*
Voor mijn doelstelling wil ik juist dat de broncode in de deelnemers.php pagina niet oproepbaar is,
dat terzijde. Verder wist ik niet in welke groep ik deze vraag moest plaatsen, javascript of php,
dus heb het toch maar op php algemeen gehouden. Alvast excuses als het fout is...
Gr Eric
Toevoeging op 28/05/2014 21:35:25:
Topic kan gesloten, antwoord reeds gevonden....
Helaas zie ik geen optie dit topic te deleten.
- Aar -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Alvast bedankt!
Alvast bedankt!
Gewijzigd op 28/05/2014 21:53:12 door - Ariën -
Quote:
Kan deze broncode ook werkelijk niet opgeroepen worden in geen enkele browser?
Nee. Het gaat zo in zijn werk:
- De gebruiker doet middels zijn browser een REQUEST bij een webserver. bijv. www.nu.nl/index.php
- De webserver gaat het script index.php uitvoeren
- Het php script in dit bestand genereert output, veelal in HTML.
- Deze output (wat dus het resultaat van het script is) wordt teruggestuurd naar de browser. (dit kun je zien als je in je browser de bron van de pagina bekijkt). De PHP code nooit teruggestuurd.
- de browser maakt een mooie pagina van de opgegeven HTML.
Gewijzigd op 28/05/2014 21:42:16 door Frank Nietbelangrijk
Dit was me inderdaad bekend.
Maar in dit specifieke geval staat er ook html code en output in deelnemers.php
Die wordt door gebruik van javascript en aanroep in een div, niet direct zichtbaar in de broncode.
Echter met de inspector van firefox kun je het alsnog inzien...
Gewijzigd op 28/05/2014 21:49:11 door Eric T
De Inspector van Firefox (Firebug) bouwt de hele pagina opnieuw op naar alles wat hij ziet en uitvoert. Daarom verschijnen ook dingen die realtime gerenderd worden, zoals een div'je bij een mouseover, of een AJAX-request, ook in de Inspector, terwijl ze niet in de HTML-source te vinden zijn.
Javascript, HTML, CSS, foto's, PDF's, tekstbestanden etc. die in je public directory staan zijn allemaal openbaar. Alleen van .htpasswd .htaccess en *.php bestanden is de content niet te zien van buitenaf bij een goed geconfigureerde webserver.
Expressionengine heeft een optie om directe views van bijv. css, js of wat dan ook te returnen naar een andere pagina.
De bestanden worden wel gebruikt door expressionengine maar word niet getoond als men de code wil zien.
Hier zou je eens mee aan de slag kunnen door bijv. een class aan te maken die alle bestanden ophaalt via unieke id of iets dergelijks.
Wordt deze gevonden door systeem dan doorlaten, wordt een direct link gebruikt laat tekst zien of wat dan ook.
Let op dat ik niet zeker weet of dit ook voor de index kunt gebruiken.
Hier link voor expressionengine : http://ellislab.com/expressionengine