Sie sind nicht angemeldet.

peterk

cms2day Projekt Spender

  • »peterk« ist männlich
  • »peterk« ist der Autor dieses Themas

Beiträge: 102

CMS Version: warte auf 3.9.1

  • Nachricht senden

1

Sonntag, 17. Januar 2010, 12:25

[UNGETESTET] Partner Banner Referrer Check Script

Partner Banner Referrer Check Script

Hat jemand anders angeboten euren Banner bei sich einzublenden und ihr möchtet wissen,
ob dieser auch bei ihm angezeigt wird, dann könnt ihr es mit folgendem Script überprüfen!

Bitte beachtet: Dieser Script verwendet GD-Objekte.
Daher solltet ihr keine GIF-Dateien verwenden!
Dieser Script wurde extra angepasst für die Verwendung von JPG/JPEG-Dateien!

Zuerst wird eine Tabelle in eurer Datenbank erstellt:

MySQL-Abfrage(n)

1
2
3
4
5
CREATE TABLE `checkbanner` (
`id` DECIMAL( 10 ) NOT NULL ,
`lastview` TIMESTAMP NOT NULL ,
`counter` DECIMAL( 10 ) DEFAULT '0' NOT NULL
);



So und nun zur PHP-Datei und der Grafik
Die PHP-Datei müßt ihr dann noch anpassen!

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
$lcbc_host "localhost"// Die Datenbankadresse
$lcbc_db "DBxxxx"// Der Datenbankname
$lcbc_user "USRxxxx"// Der Username
$lcbc_pass "1234567"// Das Passwort
$lcbc_table "checkbanner"// Name der Tabelle
$lcbc_url "http://meinedomain.tl/banner.jpg"// Name der Grafik. 

$lcbc_id $_GET["id"];
header("Content-type: image/jpeg");
$lcbc_load imagecreatefromjpeg($lcbc_url);
ImageJPEG ($lcbc_load);
$lcbc_conn=mysql_connect ($lcbc_host$lcbc_user$lcbc_pass);
mysql_select_db ($lcbc_db$lcbc_conn);
$sqlcode "SELECT counter FROM ".$lcbc_table." WHERE id=".$lcbc_id;
$result=mysql_fetch_objectmysql_query($sqlcode$lcbc_conn));
$lcbc_count = ++$result->counter;
mysql_query("UPDATE $lcbc_table SET counter=$lcbc_count WHERE id=$lcbc_id",$lcbc_conn);

?>


Nun gebt dem jenigen, welcher euren Banner einblenden soll folgenden Link zum Beispiel:

PHP-Quelltext

1
<a href="http://meineseite.tl"><img src="http://meineseite.tl/banner.php?id=1"></a>


Beachte dabei, das du jedem eine eigene ID-Nummer gibst!
Jetzt zum letzten Schritt: Tabelle mit ID-Nummer versehen!
Gehe zum PHPMydmin und suche die Tabelle auf!

Gebt dort auf einfügen, und gebe nur im Feld id ein Zahl bis 10 Stellen ein!
Nach dem Klicken auf OK hast du dann einen neuen Datensatz erstellt.
Die anderen beiden Felder laufen automatisch!

Die Felder beinhalten folgende Informationen:


ID = Die ID-Nummer des Einblenders
lastview = Das letzte Mal als der Banner gezzeigt wurde (als Timestamp)
counter = Wie oft der Banner gezeigt wurde!

vieleicht will ja wer ein addon draus machen mfg peterk



Mit dem Leben Lachen, mit dem Lachen Leben lol

Werbung

2

Sonntag, 17. Januar 2010, 14:36

Ahja, SQL-Injection spielt hier auch überhaupt keine Rolle, nicht wahr? Auch Fehlerbehandlung muss nicht eingebaut werden.

Ist ja schön und gut, dass du Code-Snippsel postest, aber dann sollten sie auch minimale Sicherheitsaspekte berücksichtigen.

Werbung

cms2day

Profi

  • »cms2day« ist männlich

Beiträge: 1 282

CMS Version: 4.x/5.x

Beruf: Webentwickler

Paypal:

  • Nachricht senden

3

Sonntag, 17. Januar 2010, 15:43

Ja, die guten alten SQL-Injection! hehe

:thumbup:

Werbung

peterk

cms2day Projekt Spender

  • »peterk« ist männlich
  • »peterk« ist der Autor dieses Themas

Beiträge: 102

CMS Version: warte auf 3.9.1

  • Nachricht senden

4

Sonntag, 17. Januar 2010, 21:29

die schnippsle sind doch immer nur als anregungen und für die umsetzung gedacht das manche schnippsel nicht mehr up 2 date sind sollte jedem klar sein



Mit dem Leben Lachen, mit dem Lachen Leben lol

Werbung

5

Sonntag, 17. Januar 2010, 21:55

die schnippsle sind doch immer nur als anregungen und für die umsetzung gedacht das manche schnippsel nicht mehr up 2 date sind sollte jedem klar sein


Nein und nein. Erstens werden Leute, die von der Materie keine Ahnung haben, dieses Schnippsel einfach kopieren, da du überhaupt keinen Hinweis machst, dass dieses Script gefährlich und und schlecht umgesetzt ist.

Zweitens hat dies nichts mit "up2date" zu tun. Funktionen, die veraltet sind oder superglobale Variablen, die noch nach dem alten Standard entsprechen sind Attribute, die nicht mehr uptodate sind, wie das bei deinem JavaScript-Beispiel der Fall ist. Die Lücke für eine SQL-Injection gibt es in dieser Form aber schon seit Ewigkeiten. Also zieht dieses Argument nicht.

An dieser Stelle rate ich einfach jedem ab, dieses Schnippsel zu gebrauchen.

Werbung

Ähnliche Themen