🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.javascript
9 messages
9 total messages Started by Kraskovich Mon, 07 Dec 2009 16:24
co tu jest nie tak?
#49579
Author: Kraskovich
Date: Mon, 07 Dec 2009 16:24
20 lines
1242 bytes
mozecie rzucic okiem na strone 
http://chemiabudowlana.info/test/index,art,434,czytelnia_z_glownej,nie_chowaj_ich_pod_dywan_piekne_podlogi_drewniane_dzieki_lakierom_domalux
?

do <div id="aaaa_tresc"></div> wrzucam podstrone za pomoca ajaxa:

<script type="text/javascript">
zmient('artykul_tresc.php?id=<? echo $_GET[id];?>');
</script>

odpalenie ajaxa:
<script type="text/javascript" src="js/ajax_script.js" ></script>

skrypt sie wysypuje w IE 6 i 7.
firefox chrome jest ok

co jest tu nie tak?

pozdrawiam
Jacek
Re: co tu jest nie tak?
#49580
Author: keemor
Date: Tue, 08 Dec 2009 09:23
27 lines
1908 bytes
On 7 Gru, 17:24, Kraskovich <kraskov...@gmail.com> wrote:
> mozecie rzucic okiem na stronehttp://chemiabudowlana.info/test/index,art,434,czytelnia_z_glownej,ni...
> ?
>
> do <div id="aaaa_tresc"></div> wrzucam podstrone za pomoca ajaxa:
>
> <script type="text/javascript">
> zmient('artykul_tresc.php?id=<? echo $_GET[id];?>');
> </script>
>
> odpalenie ajaxa:
> <script type="text/javascript" src="js/ajax_script.js" ></script>
>
> skrypt sie wysypuje w IE 6 i 7.
> firefox chrome jest ok
>
> co jest tu nie tak?
>
> pozdrawiam
> Jacek

Sprobuj dodac 'var':
var el = document.getElementById("aaaa_tresc");

Albo napisz jaki jest blad, albo zrob debug w IE
--
keemor.com
Re: co tu jest nie tak?
#49581
Author: morwo
Date: Tue, 08 Dec 2009 10:16
8 lines
1642 bytes
To co zwraca AJAX jest wysyłane z header('Content-Type...');? Jeśli
nie, to tutaj jest przyczyna.

Wydaje mi się, że wszystkie przeglądarki oprócz IE jeśli nie dostają
tej informacji, to defaultowo przypisują "text/html", a Ty nie
zwracasz XMLa, tylko tekst z tagami HTML. Dlatego we wszystkich innych
przeglądarkach to działa, a IE musisz powiedzieć, że to będzie "text/
html".
Re: co tu jest nie tak?
#49582
Author: Kraskovich
Date: Tue, 08 Dec 2009 14:15
58 lines
2214 bytes
morwo pisze:

> Wydaje mi się, że wszystkie przeglądarki oprócz IE jeśli nie dostają
> tej informacji, to defaultowo przypisują "text/html", a Ty nie
> zwracasz XMLa, tylko tekst z tagami HTML. Dlatego we wszystkich innych
> przeglądarkach to działa, a IE musisz powiedzieć, że to będzie "text/
> html".
> 

powiem wam szczerze ze przelecialem google ale chyba jestem za maly miki 
aby zrozmec pomoce na tyle zeby to opanowac

mam js'a:

function getXMLHttpRequest() {
   var request = false;
   try {
     request = new XMLHttpRequest();
   } catch(err1) {
     try {
       request = new ActiveXObject('Msxml2.XMLHTTP');
     } catch(err2) {
       try {
         request = new ActiveXObject('Microsoft.XMLHTTP');
       } catch(err3) {
         request = false;
       }
     }
   }
   return request;
}
var r;
r = getXMLHttpRequest();

var r2;
r2 = createAjax();



function zmient(odnosnik) {
	
	r2.open('GET', odnosnik, false);

	r2.send(null);
   if (r2.readyState == 4) {
     if (r2.status == 200) {

		el = document.getElementById("aaaa_tresc");
	  el.innerHTML=r2.responseText;
     }
   }
}


co musze w nim pozmieniac zeby odpalic w IE te headery?

pozdr
JaCEK
Re: co tu jest nie tak?
#49583
Author: porneL
Date: Tue, 08 Dec 2009 20:32
14 lines
1078 bytes
On Mon, 07 Dec 2009 16:24:20 -0000, Kraskovich <kraskovich@gmail.com>  
wrote:

> do <div id="aaaa_tresc"></div> wrzucam podstrone za pomoca ajaxa:
>
> <script type="text/javascript">
> zmient('artykul_tresc.php?id=<? echo $_GET[id];?>');


Masz błąd w składni PHP i lukę XSS.

-- 
http://pornel.net
this.author = new Geek("porneL");
Re: co tu jest nie tak?
#49584
Author: Kraskovich
Date: Wed, 09 Dec 2009 07:50
6 lines
903 bytes
porneL pisze:
> 
> Masz błąd w składni PHP i lukę XSS.
> 

tzn?
Re: co tu jest nie tak?
#49585
Author: morwo
Date: Wed, 09 Dec 2009 10:21
35 lines
2832 bytes
On 8 Gru, 21:32, porneL <niu...@pornel.net> wrote:
> > <script type="text/javascript">
> > zmient('artykul_tresc.php?id=<? echo $_GET[id];?>');
>
> Masz błąd w składni PHP i lukę XSS.

Mam nadzieję, że to kwestia doświadczenia, abym tak jak Ty dopatrywał
się takich szczegółów ^.^ Chociaż tutaj może bardziej chodziło o
składnie JS? Na początku myślałem, że chodzi Ci o brak ' lub " w $_GET
[id], ale zrobiłem szybki test i to raczej nie problem. Jakbym to
zapisał wrzuciłem niżej, jeśli miałbyś chwilę to daj znać, czy o to
chodziło ;)

Aczkolwiek nie wydaje mi się, że jest to powód: "pod firefox i chrome
jest ok, a pod ie sie wyspuje", prawda? Z mojego niewielkiego
doświadczenia od razu rzuciłem, że to wina braku "Content-Type", a
nawet nie sprawdziłem, czy to prawda :| Sprawdzałeś może?

On 9 Gru, 08:50, Kraskovich <kraskov...@gmail.com> wrote:
> porneL pisze:
>
> > Masz błąd w składni PHP i lukę XSS.
>
> tzn?

Z tego co się orientuje, zaleca się pisać <?php zamiast <? i ja
zapisałbym to tak:

zmient('artykul_tresc.php?id=' + <?php echo $_GET['id']; ?>');

Do tego trzeba by usunąć podatność na ataki XSS, o której wspomniał
porneL. O samym XSS poczytasz tutaj (http://pl.wikipedia.org/wiki/
Cross-site_scripting). Większość błędów, które tutaj wymieniamy jest
po stronie PHP, a nie JS, więc nie musisz nam zamieszczać kodu JS.
Zajmij się raczej plikiem artykul_tresc.php.
Re: co tu jest nie tak?
#49586
Author: Kraskovich
Date: Wed, 09 Dec 2009 13:46
33 lines
2114 bytes
morwo pisze:

> Zajmij się raczej plikiem artykul_tresc.php.

niestety tu chodzi o JSa a dokladniej o konflikt skryptów zalaczanych do 
strony.

Sytuacja wyglada tak ze w glownej czesci strony mam skrypty:

<script type="text/javascript" src="js/prototype.js"></script>
<script type="text/javascript" 
src="js/scriptaculous.js?load=effects,builder"></script>
<script type="text/javascript" src="js/lightbox.js"></script>

i sa to skrypty od Lightboxa, czyli od mechanizmu wyswietlania zdjec. 
Skrypt mozna zobaczyc na www.chemiabudowlana.info wchodzac na dowolny 
artykul. Po kliknieciu w zdjecie otwiera sie ono na czarnym tle, na 
srodku ekranu

po wyrzuceniu deklaracji powyzszych skryptow moj ajax zaczyna dzialac

Dodam tylko jeszcze ze skrypt Lightboxa uzywany jest w "includowanej" 
stronie z trescia artykulu za pomoca mojego AJAXA, takze wydaje mi sie 
ze to konflikt mojaego ajaxa i skryptow Lightboxa.

prototype.js to glowny plik bodajze MOOTOOLS :/

probowalem tez skrypty lightboxa przeniesc do strony "includowanej" ale 
nie za bardzo to dziala

nie mam pojecia jak rozwiazac ten problem

Jacek
Re: co tu jest nie tak?
#49587
Author: porneL
Date: Wed, 09 Dec 2009 19:14
22 lines
1431 bytes
On Wed, 09 Dec 2009 10:21:56 -0000, morwo <lukaszewski.a@gmail.com> wrote:

>> > Masz błąd w składni PHP i lukę XSS.
>>
>> tzn?
>
> Z tego co się orientuje, zaleca się pisać <?php zamiast <? i ja
> zapisałbym to tak:
>
> zmient('artykul_tresc.php?id=' + <?php echo $_GET['id']; ?>');

Dalej luka.

<script>
zmient('artykul_tresc.php?id=' + <?php json_encode($_GET['id']); ?>);
</script>

(oczywiście to nie jest powodem problemu, tak tylko się czepiam :)

-- 
http://pornel.net
this.author = new Geek("porneL");
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads