• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] Scriptfunktion als Variable speichern

BigSanch

New member
Hallo

Ich hab hier mal ein etwas komisches Problem, bei dem ich leider nicht mehr weiter weis und auch nichts entsprechendes im Internet finde.
Ich habe einen sagen wir mal externen Service, was ein Javascript ist (denk ich mir mal), welches gewisse Informationen sucht und dann per
document.write('bla')
ausgibt. Das Script oder die Seite selbst ist weder einsehbar noch bearbeitbar, ist ein externer Link,
welchen man in der eigenen Homepage wie folgt einbauen muss:

Code:
<script>document.write('<script src="https://dingens.bumens/scriptname"><\/script>');</script>

Die Ausgabe sieht dann so aus:


Ich möchte nun das blabla, denn das ist die Variable, welche ich benötige, egal wie extrahieren und dann abspeichern, egal ob als Variable oder
dann später in einer Datenbank. Ich kann nur den String nicht benutzen irgendwie, da es eine Funktion ist.

Ich habe bereits jeglichen Versuch den String zu extrahieren gemacht, mit regex, mit php und so weiter. Das einzige Ergebnis das ich bislang hatte,
war, dass ich egal wie ich diese Variable versuche mit PHP auszugeben, immer
<script>document.write('
oder
mit dabei habe. Wenn ich nun versuche diesem String, auch wieder egal wie, das
<script>document.write('
oder die anderen Versionen, abzuschneiden, dann hab ich keine Funktion mehr die funktioniert und der String ist dann leer.

Ich habe auch schon versucht den Link per PHP zu bekommen, mit file_get_contents und so weiter, was als sichtbare Ausgabe ja auch wieder funktioniert,
aber ich wieder nicht in der Lage bin den String zu sichern, denn bei auch PHP sieht die Ausgabe wie bei JS aus:


aber in dem String steht wieder alles mit <script> und so, wenn ich auch das wieder versuche zu extrahieren, ist wieder alles putt und leer.

Ich habe auch schon versucht den String ohne Veränderungen in eine Datenbank zu schreiben, bekomme da aber Fehler wegen der Funktion.
Wenn ich da dann die ganzen < und " mit \ versehe, läuft zwar die Funktion weiter, aber der Eintrag in die Datenbank (ohne Fehler), ist leer.

Ich weis grad nimmer wo mir der Kopf steht und hoffe dass irgendjemand das was ich hier schreibe verstanden hat und mir helfen kann.

EDIT*:
Ach ja und ich hatte auch schon versucht das Script in eine Datei auszulagern und die per PHP / JS zu laden und diese Ausgabe dann in eine Variable zu packen,
aber auch das ist mit dem selben Ergebnis.
 
Zuletzt bearbeitet:
Ich denke mal, dass das vielleicht extra so gemacht wurde, damit man nicht dran kommt. Mit JS auf das JS eines Dokuments aus einer anderen Domain zuzugreifen verhindert die Same-Origin-Policy.

Ansonsten müsstest du mehr konkreter in den Details werden, vielleicht gibt es auch einen anderen Grund.
 
Hi

Danke, naja ich denk mal schon, dass diese Verschachtelung innerhalb JS mit Absicht war, damit man nicht an den Quellcode des Scripts ran kann, aber die Funktion selbst und die Ausgabe
dieser Funktion ist ja so gesehen öffentlich, da der Code so angeboten wird und dieser nur zur Folge hat dass deine IP incl. Proxy wenn vorhanden mit Herkunftsland angezeigt wird.

Das Script funktioniert in jedem Fall wie oben gesagt mit dem selben Link. Einfache Funktion sogar ohne Variablen im Browser aufrufbar. Ohne Script und Variablen einfache Ausgabe ohne Proxy abfrage.
Innerhalb einer Funktion mit weiteren Variablen, welche mir nicht bekannt sind, sondern nur so wie aus dem Internet den Code herauskopiert vordefiniert sind, bekomme ich etwas mehr Details.

Etwa so:
(Die Echos mit den meisten Funktionen getestet und das best mögliche genannt und ip, realip und herkunft in denen Fällen keine Variable sondern reale Werte, wobei ip einfacher Request ist und realip deine tatsächliche ip auch ermittelt hinter Proxys)

einfach http// Link in Browser
Ausgabe: ip(herkunft)
Echo: document.write('ip(herkunft)')

einfach http// Link auf Seite
Ausgabe: ip(herkunft)
Echo: document.write('ip(herkunft)')

einfach <script>document.write('link')</script> auf Seite oder script src
Ausgabe: realip(herkunft)
Echo: document.write('realip(herkunft)') und komplettes script (<script>...</script>) ohne Ausgeabewerte

einfach <script>... mit weiteren Variablen</script> auf Seite
Ausgabe: realip(herkunft)
Echo: document.write('realip(herkunft)') und komplettes script (<script>...</script>) ohne Ausgeabewerte

Nur wie gesagt ist es mir irgendwie nicht möglich, die IP zu speichern. Das Echo ist in den meisten Fällen die Funktion. Sogar ein
Echo: document.write('realip(herkunft)')
wo die Werte ja drin stehen, wenn ich den versuch zu extrahieren, echo't er mit nur Scriptteile bis hin zu dass das Script nicht mehr geht.

Link ist https://zorrovpn.com/show-js-ip
 
Oder ich frag mal anders, denn ich habs bis jetzt nicht hin bekommen, und irgendwie scheint keiner ne Idee zu haben bzw es nicht möglich zu sein.
Hat jemand evtl eine Alternative dazu? Nen Ansatz wie ich das anders hin bekomme?
 
Moin,

also erstmal ist
Code:
<script>document.write('<script src="https://dingens.bumens/scriptname"><\/script>');</script>
doppelt gemoppelt.
Es reicht:
Code:
<script src="https://dingens.bumens/scriptname"></script>

Wenn du PHP hast und es dir nur um die Herkunft deiner Besucher geht, dann könntest du dieses direkt mittels PHP umsetzen (z. B. PHP: IP-Adresse eines Besuchers ermitteln).

Alternativ etwas unsauber kann mann es auch so machen:
PHP:
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
	var tmp="";
	var tmp=$('#divIP').html();
	userOrigin=tmp.split('>');
	userOrigin=userOrigin[2];
	alert(userOrigin);
});
</script>
</head>
<body>
<div id="divIP" style="display:none;"><script src="https://zorrovpn.com/show-js-ip"></script></div>
</body>
</html>
 
Also erst mal Danke für die Antwort

1. $_SERVER['HTTP_X_FORWARDED_FOR'] gibt bei mir egal wie ich es teste über Proxys immer das selbe wie die normale IP, aber nicht die richtige von Dir, zumindest bei mir

2. Danke das Script macht was es soll, so bekomm ich die Ip einzeln gespeichert, weis nicht was ich da immer falsch gemacht hatte, hatte aber in noch keinem Beispiel mit document.ready gearbeitet, eventuell wars das. Ich habe das Script von mir nun mit deinem split ergänzt und nun hab ich es in der datenbank.

Also Danke Dir :)
 
Zurück
Oben