Geheimes Wasserzeichen im Forum?

Guten Tag erstmal :)

Also wir haben da ein Forum von http://invisionfree.com/ erstellt.
Nun ja da es sich hier um ein Forum handelt, welches natürlich einen Internen Bereich auch haben sollte, haben wir da ein problem.
Nebenbei sollte ich bemerken, dass es sich um ein Forum handelt, was zu einer gilde eines Massenonline-Spiels gehört.

Nun das Problem:
Wir haben immer wieder leute die in unserem Internen Forum spionieren und screenshots an die öffentliche community schicken, somit alles interne auffliegt.

Als Lösung dachten wir:
Kann man vielleicht einen script machen, welches in das Forum eingebaut wird (z.B. ein Wasserzeichen), welches im hintergrund immer (quasi über das ganze forum) den Namen des Benutzers zeigt. Das würde uns dann zeigen, welche Benutzer die screenshots gemacht haben und wir könnten diesen aus dem Forum bannen.

Kann mir da jemand vielleicht irgendwie weiterhelfen?
Ich würde mich um jede Hilfe freuen!
Das wasserzeichen sollte möglichst nicht stören im Hintergrund.
Vielen dank im vorraus schonmal :)
 
das würde nicht viel bringen, da die html-Seite auf vor dem Anzeigen auf den Rechner des "Spitzels" übertragen wird und er somit damit machen kann, was er will, u.a. auch den namen wegmachen.
Ist auf den Screenshots die aktuelle Zeit zu sehen? Wenn ja, dann würde ich mal in der Datenbank schauen, wer zu dieser Zeit auf diesen Teil des Forums zugegriffen hat.
 
naja in dem Forum sind ca. 200 user angemeldet das macht alles für mich etwas schwieriger.

Gibt es dann vll eine andere möglichkeit herauszufinden welche leute "spitzel" sind?
 
Hallo,
würde irgendwo auf der Seite die (kodierte) Userid ausgeben, so dass es nicht unbedingt auffällt.

Da steht dann ja, zumindest in dem Beispielboard, Post #xxx.
Da könnte man das gut kodieren, sofern man die Nummern nicht aufsteigend vergibt sondern anhand der Postid. Man könnte z.B. sowas wie Postid + Userid als 'Postnummer' ausgeben.
Später einfach nur die Postid abziehen und man hat die Userid.
 
kannst du mir das vll ein wenig genauer erklären bitte? genauer im sinne von so das ich dsa bitte verstehe, wie es genau funktioniert.

So wie ich das sehe kann man da nur was herausfinden, wenn der "spitzel" auch was postet oder?
 
Du könntest ja mal den Screenshot hier posten, dann können wir mal gucken was man da so findet.

Btw, ich würde eher die Ursachen bekämpfen und nicht die Symptome. ;) Wie habt ihr den internen Bereich denn gesichert?
 
Hallo,
also die Posts sind ja alle durchnummiert, das könnte ja so aussehen:
Post #34574
Post #42132
Post #46172

Wenn ich das so sehen würde, würde ich denken, dass das die Postid sind (jeder Post hat eine individuelle Nummer).

Diese kann man aber auch so machen:
Userid (der sich die Posts anzeigen lässt) + Postid.

Bei User mit der ID 100 würde die Ausgabe so aussehen:
Post #34674
Post #42232
Post #46272

Beim User mit der ID 200 würde dass dann aber so aussehen:
Post #34774
Post #42332
Post #46372


Dann schaust du dir das Screenshot an, da steht z.B. Post #42142, suchst dir den Post raus und welche ID dieser hat (ID: 42132), und schon bekommst du die Userid, der den Screenshot gemacht hat:
42142 - 42132 = 10


Sollte sich relativ leicht integrieren lassen.
 
Wers ganz sicher haben will koennte sich in die Screenshots selbst auch ein Wasserzeichen dynamisch einbauen lassen, zb mit "imagick" :)
Quer drueber die aktuelle user-id, dann kann man sie auch net herausschneiden.

MFG - Stormy
 
@Elderan die idee ist genial, habs grad mal vorgeschlagen :)

Kannst du mir vielleicht erklären wie wir das integrieren könnten?
 
Kannst du mir vielleicht erklären wie wir das integrieren könnten?
Am wenigsten wird es auffallen, wenn du im Forum Skript (gehe mal von php aus) diese kleine Änderung einbaust.

Um was für ein Forum handelt es sich denn? (Burning Board, Phpbb) Und in welcher Version?

Wenn es ein phpbb ist, kann ich dir evtl. helfen...
 
Moje

Hab mich (als Admin des besagten Forums) mal selber hier regged, denke ich kann da nähere Infos geben.
Das Forum ist ein Invision Powerboard 1.3, leider in der Version von Invisionfree ohne Zugriff auf globale HTML Elemente.

Alles unterhalb zwischen Header und Footer ist nur als <%BOARD%> eingebunden, ohne Möglichkeit da weiter reinzukommen.

Das Einzige auf das ich effektiv Zugriff habe sind globale Header und globales JS.
Und ggf PHP ober/unterhalb des Boards an sich, aber mit PHP komm ich da ja schlecht dran.
Kann ich, generell, mit JS den schon ausgegebenen Text (also eben die UserID oder irgendwas anderes in der Nähe) überhaupt editen?

Habe bisschen Erfahrung mit HTML, PHP, CSS, aber JS, naja...

Danke Euch
 
Hallo,
deine Weg ist der falsche.

Und warum solltest du an <%BOARD%> nicht drankommen? Das alles wird mit PHP generiert, und sofern keine speziellen Sourcecode-Schutzmechanismen eingebaut wurden, was sehr unwahrscheinlich ist, musst du nur den entsprechenden PHP Code raussuchen und bearbeiten.
 
Nur woher nehmen?;s


/edit:
Soo, hab mich jetzt doch mal ein bisschen mit JS auseinander gesetzt, und mit viel probieren und noch mehr googlen ein script zusammenbekommen, das genau das macht. Problem ist nur dass ich es scheinbar nur im onLoad sinnvoll laufen lassen kann, und das bedeutet 1s+ delay, wodurch der User es sieht.
Das sieht in etwa so aus:
Code:
function wmark() {
//Get current user ID and name
test=document.body.getElementsByTagName("strong");
if(test.length>0)
{
  var reg=/([0-9]*)$/g;
  var arr=reg.exec(test[0].childNodes[1].getAttribute("href"));
  var uid=arr[0];
  var uname=test[0].childNodes[1].innerHTML;
}
//get <TD> elements with "Member no" inside
test=document.body.getElementsByTagName("td");
var i=0;
reg=/(.*)(Member\sNo\.\:\s)([0-9]*)(.*)/g;
for(i=0;i<test.length;i=i+1)
{
  //increase member no. by own no. and update
  arr=reg.exec(test[i].innerHTML);
  if(arr&&arr.length>0) {
  newn=parseInt(arr[3])+parseInt(uid);
  newc=arr[1]+arr[2]+newn+arr[4];
  test[i].innerHTML=newc;}
}
}
Geht genialerweise allerdings nur im IE, im FF sind alle anderen Submatches des Regex (arr1,2 und 4) leer. Hach ja, die Kompatibilität...
Habe zwei weitere Features auf einem Testboard implementiert aber damit wird das Delay einfach viel, viel zu lang und damit alles offensichtlich.


PHP wäre wirklich optimal, aber ich komm einfach nicht dran, das ganze sieht im Admin CP ungefähr so aus:
http://img369.imageshack.us/img369/3306/uo08051619395037ei4.jpg
Den BOARDTeil kann ich nicht rausnehmen. Wenn ich's versuche sagt es "..is a required module, cant remove" usw usw.
Wie gesagt, in anderen IPB Versionen hat man die Möglichkeit die globalen HTML Elemente einzeln zu editen, hier leider nicht.
Hätte ich die PHP Source (und damit auch im Endeffekt die DB Daten, also kann ich mir nicht vorstellen da irgendwie dranzukommen) könnte ich <% BOARD %> in ein Div mit visibility:none; legen,... würde die Ladezeit verdoppeln, aber wenn das irgendwie ginge könnte man wohl damit leben.
 
Also wenn es aus dem Internen Bereich in den öffentlichen kopiert wird müßte man doch evtl. auch über IP Adresse, oder Post Zeiten heraus finden können wer es ist.

Oder ihr macht direkt nach einem solchen Post mal eine DNS Abfrage an die IP (http://www.dnswatch.info/) damit solltet ihr an sich einen Anschluß bekommen den ihr
dann nur noch mit den der Internen Leute abgleichen müßt.
 
@Fdo

kannst du im Headerbereich PHP ausführen?
Wenn könnten man ja in die Headergrafik die IP des Betrachters als Wasserzeichen einfügen per gd lib...
Und dann müsstet ihr nur noch im Adminbereich checken wer mit der IP unterwegs war.

MfG Mechanius
 
Yup, und sowas ähnlches haben wir zufällig gestern integriert.
Habe die CSS leergemacht und lasse sie stattdessen mit PHP in den Header schreiben.
Haben uns da einige Dinge ausgedacht die für den Betrachter absolut unsichtbar aber für uns eindeutig zu identifizieren sind, selbst wenn mehr oder weniger alles abgeschnitten/zensiert ist.
Dazu ein bisschen Eye Candy zur Ablenkung natürlich, für diejenigen die Wissen was wir machen, aber nicht wissen sollen wie genau es funktioniert, wie u.a. mein gewisser Kollege Threadstarter. :P

IP Logger läuft außerdem per cron alle 60sec über die Online Liste, also denke ich mal dass wir vorerst verhältnismäßig abgesichert sind.

Danke Euch.
 
Zurück
Oben