Avatar billede StrunkDK Nybegynder
12. december 2011 - 20:38 Der er 15 kommentarer

php forum hos one.com - slet brugers beskeder

Hej

Jeg er total blank på php og mysql.

Jeg har et lille forum hos one.com, som de nu har suspenderet pga spam/malware fra en bruger. Jeg skal nu slette denne bruger og dennes beskeder samt fortage spam/malware foranstaltninger ?

De skriver at "jeg kan lave en søgning i tabellen for posts, på det bruger id. Så skulle du gerne få alle indlæg lavet af denne bruger."

Jeg kan simpelthen bare ikke finde ud af det - er der nogen der gider hjælpe mig, så jeg akn få mit lille 'microplus' forum op at stå igen ?

Hører meget gerne

Mvh
Michael
Avatar billede inteeeL Nybegynder
12. december 2011 - 21:09 #1
Hej Michael.

1. Du skal finde ID'et på brugeren. Går ud fra, at hvis du går ind på dennes profil i dit forum, vil du kunne se id'et i adresseboxen i din browser - fx: /users.php?id=24 (eksempel)

2. Du går ind i phpMyAdmin og fjerner først brugeren og dernæst indlæggene af fra brugere. Du skriver følgende i SQL-boksen:

DELETE FROM users WHERE id='det.pågældende.id'
DELETE FROM comments WHERE authorID='det.pågældende.id'
DELETE FROM posts WHERE authorID='det.pågældende.id'


Ovenstående tabeller (users, comments og posts) skal naturligvis rettes til de pågældende tabeller, der er tilknyttet forummet - det samme gælder attributterne.

Mvh,
Haris.
Avatar billede StrunkDK Nybegynder
12. december 2011 - 22:23 #2
tusinde tak - nu er problemet bare at jeg er total blank i php, så jeg skal nok bede om at få det step by step ! User_id har jeg fået oplyst - det er 64360
ved bare ikke hvor jeg skal skrive ovenstående programlinier ?
Avatar billede inteeeL Nybegynder
13. december 2011 - 09:00 #3
Der er to måder at gøre det på. Du kan oprette en PHP fil, der gør det for dig, eller du kan gøre det direkte i din database via MySQL. Hvis du alligevel ikke er så meget inde omkring det med PHP og FTP, ville jeg anbefale at gøre det over MySQL, hvis det er denne database, du bruger (hvilket er højest sandsynligt).

1. Du finder ud af, hvordan du kommer ind på MySQL (en side, hvor du kan administrere din database). Umiddelbart bør du kunne finde det, hvis du logger ind på din hosts hjemmeside. Der bør du kunne finde både link til siden og login-informationer herfor.

2. Når du er kommet ind på siden, skal du selvfølgelig logge ind på henholdsvis brugernavnet og kodeordet.

3. Når du så er logget ind, vil du se en forholdsvis stor side. I den vandrette menu vil du se et menupunkt, der hedder "SQL". Klik der og du vil komme ind på en side, hvor der er en tekstboks. Indtast der de koder, jeg skrev i #1 (tror godt du kan skrive alle tre samtidig, eller kan du gøre det enkeltvis).

Det burde være det.
Avatar billede StrunkDK Nybegynder
13. december 2011 - 19:44 #4
Tak for din meddelse :)

jeg får følgende fejlmelding, når jeg står i "MySql server > microplus_dk"

qte

Error

SQL query:

DELETE FROM users WHERE id =64360

MySQL said: Documentation
#1146 - Table 'microplus_dk.users' doesn't exist

uqte

så tænker jeg - når der i venstre side står en masse navne, så skal jeg nok rette til phpbb_users, men så får jeg følgende fejlmelding

qte
Error

SQL query:

DELETE FROM phpbb_users WHERE id =64360

MySQL said: Documentation
#1054 - Unknown column 'id' in 'where clause'

uqte

nu har jeg siddet og leget lidt rundt og hvis jeg under

MySql/microplus_dk/phpbb_posts_text skriver

"DELETE * FROM `phpbb_posts_text` WHERE user_id=64360",

så kommer den og spørger om jeg er helt sikker OG DET ER JEG SÅ IKKE, fordi '*' betyder måske at jeg sletter alt tekst ?

Jeg har lige lavet et screendump - det fortæller dig måske meget mere, end jeg  har forstand til at fortælle dig
http://www.strunkkristiansen.dk/screenshot.png

Hører gerne
Mvh
michael
Avatar billede inteeeL Nybegynder
13. december 2011 - 21:17 #5
Hej Michael.

Godt at se, at du selv formåede at rette dig selv, så du til sidst kom frem til det rigtige.

"DELETE * FROM `phpbb_posts_text` WHERE user_id=64360"


En oversættelse af ovenstående kode ville være: Slet alt fra indlæg, som er oprettet af bruger_id = 64360. Altså, det er ikke alle indlæg der slettes, men blot de indlæg, der er blevet oprettet af bruger_id'et 64360. Du skal selvfølgelig tjekke, at forfatter-id'et hedder "user_id" i din tabel, men det gøre den højest sandsynligt, eftersom at den ikke udskriver nogen fejl.

Så du kan godt klikke OK/JA, når den spørger dig om det. Hvis du alligevel er lidt usikker på det, kan du tage en backup og databasen. Det kan du gøre, ved at klikke "eksport" i samme menu. Det burde du i øvrigt gøre jævnligt, hvis du har et større forum, så du sikre dig, at intet data går tabt. Der kan evt. laves et php-script som regelmæssigt med fx 2 måneders mellemrum (eller mindre) foretager en backup af databasen helt automatisk. Det var et sidespor. :-)

Håber det hjalp på forståelsen.

Mvh,
Haris.
Avatar billede StrunkDK Nybegynder
14. december 2011 - 19:41 #6
Hej igen !

Det havde nok også været for simpelt, hvis det skulle virke...!

med ovenstående kommando og 'ja' får jeg følgende fejlmelding når jeg skriver kommandoen i SQL ude i roden.

SQL query:

DELETE * FROM `phpbb_posts_text` WHERE user_id =64360

MySQL said: Documentation
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '* FROM `phpbb_posts_text` WHERE user_id=64360' at line 1

hvis jeg går ned under phpbb_posts_text og skriver samme kommando, får jeg følgende fejlmelding

SQL query: Documentation

SELECT *
FROM `phpbb_posts_text`
WHERE user_id =64360
LIMIT 0 , 30

MySQL said: Documentation
#1054 - Unknown column 'user_id' in 'where clause'

ØV :(

//michael
Avatar billede inteeeL Nybegynder
14. december 2011 - 20:04 #7
Hej Michael.

Det er også mig, der har kludret lidt i det - det gik lidt for stærkt. :-)

Den lille stjerne skal fjernes fra alle tre koder, jeg gav som eksempel, så der i stedet fx står:

DELETE FROM `phpbb_posts_text` WHERE user_id=64360


MySQL said: Documentation
#1054 - Unknown column 'user_id' in 'where clause'

Ovenstående kode fortæller, at kolonnen/attributten "user_id" ikke findes. Som jeg skrev tidligere skal du selv lige tjekke i hver af tabeller, hvad kolonnen for bruger-id'et hedder.

Mvh,
Haris.
Avatar billede StrunkDK Nybegynder
14. december 2011 - 22:33 #8
hej igen Haris

Når du skriver kolonner - er det så dem ude til venstre (på mit screendump) ?

hvis ja - så under hver af dem til venstre - er der til højre 'fields' - hvad er det på dansk og er det her jeg skal lede efter user_id ?

er jeg helt forkert på den, hvis jeg tror, at alle beskeder ligger under phpbb_posts_text, eller skal jeg lede i phpbb_posts eller ...??
(der er bare ingen af de to ovennævnte der har 'field' hvor der står user_id

minder mig lidt om de første uger med et modem man skulle få til at kalde op og fastholde en forbindelse, uden manual eller forståelse for hvad de forskellige ord betyd  -  LOL

Mvh
Michael
Avatar billede inteeeL Nybegynder
15. december 2011 - 14:26 #9
Hej Michael.

Når jeg siger kolonner/attributter, mener jeg det, der står under Field til venstre, ja. Det er nemlig der, du skal kigge efter user_id. Som du kan se, hedder attributten user_id i phpbb_users.

Det er måske ikke tilfældet i phpbb_posts_text. Der kan det være, den hedder noget andet. Måske author eller sådan noget. Hvis du ikke kan finde den, må du sende et screendump af tabellen.

Hehe, det kan også være svært, hvis du ikke har prøvet det før.

Mvh,
Haris.
Avatar billede inteeeL Nybegynder
19. december 2011 - 08:53 #10
Fik du det til at virke eller hvad?
Avatar billede StrunkDK Nybegynder
19. december 2011 - 20:02 #11
løsningen tror jeg var at gå ind under 'search' og søge på user_id'et og derefter slette alt med dette Id  !

Men så kommer næste problem hvilke spam/mallware foranstaltninger jeg skal tage ?
Avatar billede StrunkDK Nybegynder
19. december 2011 - 20:03 #12
tak for hjælpen sofar
Avatar billede StrunkDK Nybegynder
19. december 2011 - 20:05 #13
hvordan giver jeg dig dine point ?
Avatar billede inteeeL Nybegynder
19. december 2011 - 22:21 #14
Jeg smider et svar her, og du godkender det. Godt at høre at du fik det til at virke.

Husk at "Svar" her på eksperten kun bruges, når man skal modtage point for sin hjælp. :-)
Avatar billede StrunkDK Nybegynder
20. december 2011 - 23:50 #15
ok forstået - tak igen for hjælpen Haris ! god jul til dig og dine !
Mvh
Michael
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester