ugrás a tartalomhoz

Weboldal forrásában látszik a felhasználónév, jelszó

subset · 2008. Már. 17. (H), 13.08
Hi !

Egy suli szerverét tartom karban, a weblapot egy infótanár csinálja.
A lap frame-ekből épül fel mysql adatbázist használva.
A gond az, hogy a böngészőben a frame forrását megnézve látszik a php-kódban az sql felhasználó minden adata.
Hogyan lehet ezt másképp megoldani.
Sajnos az infótanár is tőlem kérdezte ezt én meg ehhez abszólút lame vagyok.
Mit mondjak ,merre induljunk ?

Thx
 
1

php tartalma nem látszódhat

gex · 2008. Már. 17. (H), 13.29
ha látszik a php fájl tartalma, az azt jelenti, hogy a php nem dolgozza fel a fájlt. tehát vagy nincs hozzárendelve a kiterjesztés a php-hez (addtype), vagy nincs is php a szerveren. :)
3

válasz

subset · 2008. Már. 17. (H), 21.58
Hi !

Természetesen rendben fut a szerveren a php :)
4

Akkor?

s_volenszki · 2008. Már. 17. (H), 21.59
Valami kis kód snippet a forrásból, vagy hívjunk meg médiumokat is!?

s_volenszki
8

valami hibának kell lennie

gex · 2008. Már. 18. (K), 00.23
ha annyira rendben futna akkor nem mutatná meg országnak világnak egy php fájl tartalmát. gondolkozzunk el ezen egy kicsit. ;)
2

Érdekes...

s_volenszki · 2008. Már. 17. (H), 13.31
És mi látszik pontosan? HTML komment?

s_volenszki
5

firefox

subset · 2008. Már. 17. (H), 22.06
Hi !

A gond,hogy jobb klikk a frame-n---> this frame ---> view frame source ...
6

Komolyan kezdek aggódni...

s_volenszki · 2008. Már. 17. (H), 22.09
Szia!

Te! Lemaradtam valamiről!? Már hol jobb klikk? Itt a laboron? Sztem sírnának sokan, ha szerkezetnek lenne itt frame...

s_volenszki
7

válasz

subset · 2008. Már. 17. (H), 23.54
Bármint a webböngészőben (firefox) a weboldalon (ami a szerverünkön fut) nyomok egy jobb gombot a frame-n és megnézhetem a forrását. Ebben van ugye az adatbázishoz tartozó user+pass.
9

no frame

Drawain · 2008. Már. 18. (K), 01.32
Az most teljesen mindegy, hogy frame vagy sem. Ha a forrásban látszik az sql szerver connection stringje, akkor azt nem dolgozza fel. Nézz utána, hogy az a frame konkrétan milyen fájlban generálódik, még azt is el tudom képzelni, hogy külön ki van echozva, mondjuk valami bentmaradt fejlesztői szemét :)
Elsőnek azt kellene vizsgálni, hogy van e adatbáziskapcsolat (ha van, pl listázás, vagy authentikáció adatbázisból, stb.), akkor tuti, hogy ezek az adatok legalább kétszer szerepelnek a forráskódban, és másodszor nem értékelődik ki phpként (értsd: nincs <?php ... ?> vagy <?=...?> tagek között).
A php semmilyen esetben nem jelenhet meg a forrásban, az a forrás amiről beszélsz szigorúan kliens oldali (html, js, stb.) forrás!

Arról nem beszélve ha azt szeretnéd, hogy segítsünk akkor minimum azt másold ide be mi az amit látsz a forrásban (természetesen a user+pass-t megváltoztatva)...
10

Két lehetőség van!

s_volenszki · 2008. Már. 18. (K), 10.49
Hiba vagy tévedés, mer ugye ha megválaszoltad volna a kérdést:

És mi látszik pontosan? HTML komment?


azaz a nem kívánt adatok így jelennek meg?
<!-- mysql_user = "akarmi" -->
akkor közelebb lehetnénk! Megkerestétek már egyáltalán, hogy a php kódban hol vannak benne ezek az adatok?

Megnézted az echo-kat, print-eket?

Mellesleg ha nem abnormális működés, akkor a php kommentek le sem jutnak kliensre, ugyan is azt már a php feldolgozó eldobja szerveren.
/*php komment*/
vagy
//php komment
Megnéztétek, hogy az adatbázis szöveges tartalmába nem csempésztetek egy <echo $mysql_user; ?>-t? Vagy más csempészte esetleg űrlapról?

Kezdje el az infó tanár szétbontani az oldalt, természetesen keret nélkül azt az egyet, amiben a gebasz van. Nézze végig a forrást szerkesztőben (ne kliensen) és keresse a már fent említett echo és print patancsokat.

Ha nincs ilyen, kezdje egyesével escape-elni az adatbáziból kijövő adatokat. Figyelje mikor tűnik el és ott kutakodjon

s_volenszki
11

Ezt látom ha megnézem a frame forrását

subset · 2008. Már. 19. (Sze), 17.15
<?php

$maidatum=date("Y.m.d");
kapcsolat=mysql_connect("localhost","x","x");
if (!$kapcsolat) die(mysql_error());
mysql_select_db("adatbazis",$kapcsolat) or die(mysql_error());
$parancs="SELECT * FROM latogat WHERE (datum='$maidatum')";
$eredmeny=mysql_query($parancs,$kapcsolat);
mysql_close($kapcsolat);
if ($egy_sor=mysql_fetch_array($eredmeny))
{
$hany=$egy_sor["tanarok"]+1;
$kapcsolat=mysql_connect("localhost","x","x");
if (!$kapcsolat) die(mysql_error());
mysql_select_db("adatbazis",$kapcsolat) or die(mysql_error());
$parancs="UPDATE latogat SET tanarok='$hany' WHERE datum='$maidatum'";
mysql_query($parancs,$kapcsolat) or die("Nem lehet frissíteni".mysql_error());
mysql_close($kapcsolat);
}
else
{
$kapcsolat=mysql_connect("localhost","x","x");
if (!$kapcsolat) die(mysql_error());
mysql_select_db("adatbazis",$kapcsolat) or die(mysql_error());
$parancs="INSERT INTO latogat (datum,tanarok) VALUES ('$maidatum','1')";
mysql_query($parancs,$kapcsolat) or die("Nem lehet adatot adni a táblához".mysql_error());
mysql_close($kapcsolat);


}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>XXXXXXXXXX</title>
<style type="text/css">
<!--
a:link {
color: #663300;
}
a:visited {
color: #663300;
}
body {
background-image: url(atter.jpg);
}
-->
</style></head>

<body>
<table width="800" border="0" cellspacing="0" align="center">
<tr>
<td ><div align="left">
<p><img src="banner.gif" width="800" height="99" /><br />

</p>
<hr align="center" />

</div></td>
</tr>
<tr>

bla....bla....bla bla....bla....bla bla....bla....blabla....bla....bla bla....bla....bla
bla....bla....bla bla....bla....bla bla....bla....blabla....bla....bla bla....bla....bla
</blockquote></td>

</tr>
</table>
</body>
</html>
12

ez nagyon fura

griphons · 2008. Már. 19. (Sze), 17.41
és le is fut a script egyébként?
az eredeti forrást is told már ide (jelszavak nélkül), mert lehet, h az eredetiben van valami furaság, ami az echora küldi ezt a szöveget.

egyébként normál esetben ennek nem szabadna látszania, sőt, ezt a böngészők nem is kaphatják meg, a php még szerveroldalon "lebomlik". ha a script lefut, és a böngészőben is látszik a forrásban, akkor itt valami nagyon csúnya - gonosz, és szervezetten elkövetett - szerveroldali belepiszkálásról lehet szó... szerintem...
13

PHP feldolgozás

KundK · 2008. Már. 19. (Sze), 17.43
Ezek szerint tényleg a webszerver oldalon van a hiba.
Ennek (a php kódnak) el sem szabadna jutni a böngészőhöz. Azt a webszerver/php páros dolgozza fel és csak az eredményt küldi el a böngészőnek.

Mi történik, ha a frame forrás címét hívod meg közvetlenül? Mi a file kiterjesztése?
Milyen webszervert használtok, milyen OS alatt?
14

kiterjesztés

Drawain · 2008. Már. 19. (Sze), 19.11
Ugye ennek az oldalnak (és a hivatkozott frame-nek) a kiterjesztése .php és nem .html? Csak a php kiterjesztésű fájlokat dolgozza fel php-ként a szerver (alapbeállítás szerint) :)
15

HEAD

AidPesi · 2009. Már. 24. (K), 18.25
Ellenőrizd a head et...
Nem vagyok szakértő, de ha kódokat csak úgy ide oda viszünk előfordulhat FP nél hogy nem menti azt hogy neked van php d is.
16

Thread dátuma?

zila · 2009. Már. 30. (H), 16.16
Hozzászólás előtt célszerű ellenőrizni, hogy mikori az adott téma. Nem hiszem, hogy 2008 márciusa óta nem sikerült megoldani ezt a problémát... ;)
17

n

domel · 2009. Ápr. 1. (Sze), 23.51
nem lehet, hogy a php tartalmu anyag *.htm-nek van elmentve?