Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Ip sperre bei Bewertungsfunktion

Mitglied: ThermoTubbie

ThermoTubbie (Level 1) - Jetzt verbinden

05.09.2006, aktualisiert 07.09.2006, 3870 Aufrufe, 4 Kommentare

Suche schnelle Möglichkeit zum überprüfen der Bewertung

Hallo ich brauch mal wieder Hilfe ;),
ich habe auf meiner Seite eine Bewertungsfunktion für Links. Nun bin ich dabei eine IP Sperre mit Hilfe einer DB zuentwicklen. Das Problem dabei ist, dass ich schon lange Zeit am Grübbeln bin wie die aufgebaut sein muss um schnell zu arbeiten.

Da ich so was noch nie gebastelt habe, würde ich mich über Kommentare/Punkte an denen ich was übersehen habe / verbesserungen / ... freuen ;)


Hab zwei Plannungen

Meine 1te sieht so aus:

DB: Tabelle mit den Spalten ID, IP, Link ID, Datum

Ablauf:
1. Wenn etwas bewertet wird, wird zuerst ein delete Statement ausgeführt welches alle Datensätze löscht die älter als 1Tag sind. => keine veraltete Datensätze mehr

2. Anschließend ein weiteres Statement welches guckt ob der Benutzer schon eine Bewertung für diesen Link abgegeben hat. Wird ein Datensatz gefunden
=> "hast schon bewertet".

3. Wird keiner gefunden wird ein neuer Datensatz mit der IP des Benutzers, Link ID, aktuelle Datum in die DB gespeichern. => Sperre für einen Tag steht.


Nur irgendwie sind mir das viel zuviele Zugriffe auf die DB Da ich die Bewertungsfunktion mit AJAX gebastelt habe, habe ich "Angst" das mir diese Zugriffe die Ladezeiten so stark erhöhen, dass der Geschwindigkeitsvorteil von AJAX flöten geht...



Daher habe ich auch noch eine zweite, nur die ist aufwändiger zu Programmieren

DB: Tabelle mit den Spalten ID, IP, Link ID, Datum

1. Beim klick auf die Wertung werden alle Datensätze in ein Array geladen.

2. Im Array werden dann die Datensätze überprüft und die "makiert", welche über 1 Tag alt sind.

3. Es wird überprüft ob der Benutzer schon den Link bewertet hat (Vergleich mit Datensätzen aus dem Array)
Wenn der Benutzer schon bewertet hat wird eine variable auf false gesetzt/ bzw true wenn noch nicht bewertet (oders so)

4. Dann wird ein langer String erstellt, in der aus der ein delete Statement erhält welches die markierten Datensätze löscht, sowie ein neuen Datensatz mit IP, Datum, usw, wenn der Benutzer noch nicht bewertet hat.

5. Der SQL Befehl String aus Punkt 4 wird an die DB abgefeuert. Dann noch meldung, "bla bla hast schon bewertet" / "bla bla Bewertung in DB"


Hoffe ich hab mich halbwegs kla ausgedrückt^^


Wie seht ihr das? Soll ich einer der Lösungen programmiern ? Hat jemand eine schnellere Lösung? Alles her, was euch dazu einfällt ;)

mfg
Martin /ThermoTubbie
Mitglied: DaSam
05.09.2006 um 20:10 Uhr
Hi,

die DB sollte Dir doch die meiste Arbeit abnehmen - da sollte es doch nicht vorrangig um die Implementierung gehen. Die DB-Elemente sind ja fast schon so trivial, dass auch AJAX damit keine Probleme haben sollte .

Was ich nur machen würde: Je nach verwendeter SQL Variante und sonstigem Umfeld würde ich beispielsweise jede Stunde per cron oder DB-Wartung die Einträge, welche älter als 1 Tag sind rauslöschen - ob die jetzt 1 Tag und 59 Minuten als sind, dürfte wohl kaum eine Rolle spielen. Spart Dir aber jede Menge Aufwand beim "Klicken" ...

Und vergiss nicht, schön brav Indexe zu erstellen, damit die DB auch performant ist. Ansonsten sollte eine kluge DB schon sehr performant sein.

cu,
Alex
Bitte warten ..
Mitglied: ThermoTubbie
05.09.2006 um 23:04 Uhr
Hi,
so hab nun die erste Version umgesetzt. Ist so das alle IPs die älter sind als 1 Tag wieder gelöscht werden. Nur irgendwie ist die Performance noch nicht so der hit...

Sollte vielleicht doch das mit indizes mal machen^^

Dann noch zu DB-Wartung eine Frage. Also momentan werden die Datensätze per php gekickt, wie / wo finde ich den so ein DB-Wartung ding? bei phpMyAdmin ? oder wo muss ich da suchen?

axo und so sieht es nun aus
www.diabolotreff.de dann auf eine Kategorie und lustig bewerten ;) Falls jemand Bugs findet bitte posten! War leider Nacht wo ich es online gestellt habe und konnte nicht mehr mit anderen Leuten zusammen intensive Fehlersuche machen

mfg
Martin
Bitte warten ..
Mitglied: DaSam
06.09.2006 um 22:14 Uhr
Hi,

Du hast MySQL am Laufen? Da kenn ich mich leider nicht so aus - das mit der DB-Wartung hat der MS-SQL-Server eingebaut. Ist aber eigentlich nichts anderes als zeitgesteuert Tasks oder DB-Optimierungen laufen zu lassen.

Hast Du shell-Zugang zum Server? Dann könntest Du beispielsweise eben einen cron-Job aufsetzen, der ein Skript ausführt, welches die alten Einträge rauskickt. Wenn es sein muss, kannst Du ja auch per wget ein php-Skript aufrufen vom webserver

Du kannst aber auch in deinem PHP Skript nachschauen, ob der letzte Löschjob schon eine Stunde vorbei ist (in einer Datei abspeichern, wann zuletzt die alten Einträge gelöscht wurden) und dann ggf. am Ende vom PHP Skript die Löschung vornehmen und diesen Zeitstempel wieder abspeichern ...

Aber mach das mal mit den Indexen - auf jedes Feld, nach dem du selektierst, könntest Du einen Index machen - also in deinem Fall auf praktisch alle Tabellenfelder. Ist halt die Frage, ob der SQL-Server dann die Tabellen noch möglichst effizient ins RAM reinbekommt, da die dann schon "etwas" grösser wird, wenn dann noch Indexe drauf sind.

cu,
Alex
Bitte warten ..
Mitglied: ThermoTubbie
07.09.2006 um 13:26 Uhr
Hi Alex,
dann werd ich mal schauen ob ich das mit den zeitstempel hinbekomme. Das mit den Index über die Tablle legen werde ich dann auch mal testen.

mfg
Martin
Bitte warten ..
Ähnliche Inhalte
Windows 10
IP sperren?
Frage von knowonWindows 1029 Kommentare

Hallo, wüsste gerne, ob man die IP eines Win 10 PC sperren kann? Einfach ausgedrückt: Ich ändere die IP ...

Linux Netzwerk
Squid3 Webseiten IP sperren
gelöst Frage von fundave3Linux Netzwerk9 Kommentare

HAllo zusammen, da ich mir einen Squid proxy Server zusammengebastelt habe mit Authentifizierung möchte ich einige IPs von webseiten ...

Erkennung und -Abwehr
FritzBox 7270 - Notfall IP sperren
Frage von CorraggiounoErkennung und -Abwehr16 Kommentare

Hallo zusammen, ich bin im Besitz einer FritzBox 7270. Jetzt ist es ja bekannt, dass man über eine sogenannte ...

Windows Server

Zugriff auf Server für IP Adressen sperren die auf Blocklist gelistet sind

Frage von kefaloWindows Server15 Kommentare

Hallo, ist es möglich, sämtlich zugriffe (Port 80, 8080, 443, 987 und 25) auf Server zu sperren für die ...

Neue Wissensbeiträge
Humor (lol)
(Part num your Hacked phone. +XX XXXXXX5200)
Erfahrungsbericht von Henere vor 11 StundenHumor (lol)

Mein Handy hat aber ne ganz andere Endnummer. Muss ich mir jetzt Sorgen machen ? :-) Vielleicht betrifft es ...

Exchange Server

Letztes Update für Exchange 2016 CU9 war in gewisser Weise destruktiv

Erfahrungsbericht von DerWoWusste vor 13 StundenExchange Server6 Kommentare

Kurzer Erfahrungsbericht zu Exchange2016-KB4340731-x64 Der Exchangeserver hat wie gewöhnlich versucht, es in der Nacht automatisch zu installieren - abgesehen ...

Erkennung und -Abwehr

Neue Sicherheitslücke Foreshadow (L1TF) gefährdet fast alle Intel-Prozessoren

Information von Frank vor 1 TagErkennung und -Abwehr3 Kommentare

Eine neue Sicherheitslücke, genannt Foreshadow (alias L1TF) wurde auf der Usenix Security 18 von einem Team internationaler Experten veröffentlicht. ...

Vmware
VMware Updates gegen L1 Lücke
Information von sabines vor 1 TagVmware

Für die Vmware Produkte vCenter Server, ESXi, Workstation und Fusion stehe Updates bereit um die L1 Lücke zu schließen. ...

Heiß diskutierte Inhalte
Windows Server
Domäne einsilbig mit nur einem Namen benannt - sowie AD und MX auf einer VM Kardinalsfehler?
Frage von TomTestWindows Server48 Kommentare

Hallo liebe Freunde gepflegter Probleme, seit kurzem soll ich eine Domäne verwalten die zuvor von einem IT-Dienstleister erstellt und ...

Microsoft
VPN Verbindung kann nicht aufgebaut werden
Frage von AlexderITlerMicrosoft35 Kommentare

Hallo, Ich möchte an einem unserer PCs in unserer Tochterfirma eine VPN zu unserem Netzwerk einrichten. Das schlägt allerdings ...

Windows Server
Windows Server per Web auf Daten zugreifen und verwalten
Frage von matze2090Windows Server16 Kommentare

Hallo, ich würde gerne von außen auf meinem Windows Server zugreifen um auf meine Daten zu verwalten. Meine frage ...

DNS
Gibt es eine Art DNS Proxy?
Frage von icepietDNS16 Kommentare

Hallo Nerds, Ich würde gerne folgendes machen: ts.domain.de:3389 soll auf 1.2.3.4:3389 auflösen ts2.domain.de:3389 soll auf 1.2.3.4:3390 auflösen Gibt es ...