SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Das Zend Framework

Das Zend Framework zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Entwicklung und Softwaredesign

PHP Entwicklung und Softwaredesign Hier können strukturelle (Programmier-) Konzepte diskutiert und Projekte vorgestellt werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 06.07.2006, 22:23:47
Asrag Asrag ist offline
Junior Member
 
Registriert seit: May 2005
Beiträge: 161
Multiusing

Hi,

Hab da mal eine Frage. Ich möchte ein Script aufrufen was erstmal alle ip's der user abruft was ja noch nicht so schwer ist und schaut ob sich ip's gleichen.

Wenn mindestens 3 gleiche ip's auf 3 verschiedene accounts sind sollen alle gesperrt werden.

Hoffe ihr versteht was ich meine.

bsp.:

User1 hat die Ip: 218.369.412
User2 hat die Ip: 218.369.412
User3 hat die Ip: 218.369.412

Dann sollen alle 3 gesperrt werden.

MfG

Asrag
Mit Zitat antworten
  #2  
Alt 06.07.2006, 23:06:39
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: Multiusing

und wo ist jetzt genau das problem?
Mit Zitat antworten
  #3  
Alt 07.07.2006, 04:13:10
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: Multiusing

Zitat:
Zitat von feuervogel
und wo ist jetzt genau das problem?
Wahrscheinlich sucht er einen, der ihm das Script tippert...
Mit Zitat antworten
  #4  
Alt 07.07.2006, 07:28:31
Asrag Asrag ist offline
Junior Member
 
Registriert seit: May 2005
Beiträge: 161
AW: Multiusing

Nein ich suche nicht jemanden der mir das tippt sonder einen Tip gibt wie ich dass am cleversten lösen kann.

hab mir schon was dazu überlegz

PHP-Code:
$sql"SELECT ip FROM user";
$resultmysql_query($sql);

while(
$ipsmysql_fetch_assoc($result)){
 
$sqlQuery"SELECT COUNT(ID) as total FROM user WHERE ip= '".$ips['ip']."'";
 
$restmysql_query($sqlQuery);
 list(
$user)= mysql_fetch_array($rest);
 
 if(
$user 3){
  
$update"UPDATE user SET bann= '1' WHERE ip= '".$ips['ip']."'";
  
$machenmysql_query($update);
 }


Würde dass so gehen oder ist es blöd?
Mit Zitat antworten
  #5  
Alt 07.07.2006, 07:48:11
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
AW: Multiusing

Du wirst dich bei deinen Benutzern sehr beliebt machen, wenn du völlig grundlos ständig einige dieser Benutzer sperrst.
Mit Zitat antworten
  #6  
Alt 07.07.2006, 07:57:52
Asrag Asrag ist offline
Junior Member
 
Registriert seit: May 2005
Beiträge: 161
AW: Multiusing

Wieso grundlos? MEinste ich sollte noch eine spalte grund hinzu schreiben? Das wäre natürlich noch klug ja :D

Aber meine eigentliche Frage war ja.... Ob ich das so nehmen kann das script nur noch das mit dem Grund hinzufügen und fertig, oder?

Geändert von Asrag (07.07.2006 um 08:00:31 Uhr)
Mit Zitat antworten
  #7  
Alt 07.07.2006, 11:25:05
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
AW: Multiusing

Wenn ich als Benutzer bei einem Anbieter gesperrt werde, nur weil einige andere Benutzer zum Zeitpunkt ihrer Anmeldung dieselbe IP hatten wie ich bei meiner Anmeldung, werde ich sicher nicht vor Begeisterung im Kreis springen.
Mit Zitat antworten
  #8  
Alt 07.07.2006, 15:14:38
Asrag Asrag ist offline
Junior Member
 
Registriert seit: May 2005
Beiträge: 161
AW: Multiusing

ISt ja auch egal, es geht jedenfalls. Außerdem ist das für ein Browsergame!

Ich habe mein Gründe.

;)
Mit Zitat antworten
  #9  
Alt 07.07.2006, 23:23:40
Oecken Oecken ist offline
Anfänger
 
Registriert seit: Jul 2004
Beiträge: 10
AW: Multiusing

Dein Vorschlag ist ziemlich rechenintensiv, da bei jedem Seitenaufruf die komplette Tabelle durforstet wird.

Mein Vorschlag wäre.
Bei jedem Seitenaufruf:
PHP-Code:
//Datenbank von alten einträgen (älter als 5 min säubern)
$sql "DELETE FROM table_onlineuser WHERE TIMESTAMPDIFF(MINUTE, time, CURRENT_TIMESTAMP()) > 5";
mysql_query($sql);

//Neuen Datensatz anlegen oder falls die kombination aus ip und session_id
//schon existiert, wird nur der timestamp aktualisiert.
$ip $_SERVER["REMOTE_ADDR"];
$session_id session_id();
$sql "REPLACE INTO table_onlineuser SET ip = '".$ip."', session_id = '".$session_id."', time = CURRENT_TIMESTAMP()";
mysql_query($sql);

//Überprüfen ob schon 3 User mit der IP angemeldet sind.
$sql "SELECT count(*) FROM table_onlineuser WHERE ip = '".$ip."'";
$query mysql_query($sql);
$result mysql_result($query0"count(*)");
if(
$result 3) {
 
//Was passiert wenn mehr als 3 mit einer IP einloggt sind.

"time" muß den Typ "timestamp" haben. Die Spalten "ip" und "session_id" müssen als zweispaltiger index angelegt werden.

Ich würde die Zahl der gleichzeitig eingeloggten allerdings erhöhen und evtl noch verschiedene andere argumente zur Absicherung einpacken. Wenn sich 10 leute in einer Uni, eingeloggt über den gleich Knoten auf deiner Seite sind, würden alle gesperrt werden, da sie alle die IP adresse der Uni haben.

bye
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 06:32:11 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt