Avatar billede mejse Nybegynder
14. september 2004 - 15:39 Der er 28 kommentarer og
1 løsning

txt db til crow king

Hejsa

Jeg har en server der kører med crow king (til at bande ip ér på folk der snyder på vores spille server)

Jeg vil gerne lave en admin site hvor der kan skrives en ip ind og så bliver den skrevet til en txt fil - der i forvejen har en masse ip ér. jeg forestiller mig at det bare er et tekst felt med en submit btn, og så tilføjes den ip på txt filen. men hvordan jeg skal lave det!!! .. crow king fatter kun en txt fil (ipbanned.txt) så jeg kan desværre ikke bruge en access db. Ja jeg er på bar bund.. Nogle ideer

Mejse
Avatar billede bernhof Nybegynder
14. september 2004 - 21:14 #1
Jeg kan godt hjælpe dig med lidt kode til at skrive til en tekst-fil, hvis det er det du ønsker. Skal det skrives i tekst-filen på en bestemt måde, eller står der bare én banned ip pr. linie?
Avatar billede bernhof Nybegynder
14. september 2004 - 21:15 #2
Nu skriver du forresten "admin site" -- ønsker du noget ASP eller Visual Basic. Nu befinder vi os jo trods alt i Visual Basic kategorien, men jeg kan hjælpe dig på begge områder.
Avatar billede sjh Nybegynder
14. september 2004 - 21:25 #3
Private Sub cmdAddIP_Click()
Dim intFree  As Integer
Dim strFile  As String
Dim strIPAddr As String

  strIPAddr = Trim$(txtIPAddr.Text) ' txtIPAddr <- TextBox
  strFile = "D:\System\Skrivebord\ipbanned_.txt"

  If Len(strIPAddr) Then
    intFree = FreeFile
    Open strFile For Append As #intFree
      Print #intFree, strIPAddr
    Close #intFree
  End If
End Sub
Avatar billede bernhof Nybegynder
14. september 2004 - 21:32 #4
Har stykket denne ASP side sammen, som du kalder "banip.asp":

<%@ Language=VBScript %>
<%

If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
    'Formen er blevet submittet:
   
    Const ForAppending = 8
    Dim FSO, F, sFilSti
   
    'Opret filesystemobject, som benyttes til at
    'skrive til filen:
    Set FSO = CreateObject("Scripting.FileSystemObject")

    'Angiv sti til fil "ipbanned.txt"
    sFilSti = Server.MapPath("ipbanned.txt")

    'Undersøg om filen eksisterer
    If FSO.FileExists(sFilSti) Then
        'Skriv ny IP til fil, hvis filen eksisterer:
        Set F = FSO.OpenTextFile(sFilSti, ForAppending, False)
        F.WriteLine Request.Form("txtIP")
        F.Close
        Set F = Nothing
        Set FSO = Nothing
        Response.Redirect "banip.asp?besked=" & _
            Server.URLEncode("IP adressen " & Request.Form("txtIP") & " er blevet tilføjet til filen.")
    Else
        'Filen eksisterer ikke.
        Set FSO = Nothing
        Response.Redirect "banip.asp?besked=" & _
            Server.URLEncode("Filen '" & sFilSti & "' blev ikke fundet.")
    End If

End If

%>
<HTML>
<HEAD>
</HEAD>
<BODY>

<%
Dim sBesked
sBesked = Request.QueryString("besked")

If sBesked <> "" Then
    Response.Write "<p><font color=""red"">" & sBesked & "</font></p>"
End If
%>

<form name="frmAddIP" action="banip.asp" method="post" onsubmit="return (this.txtIP.value != '')">
    Ban IP adresse:
    <input type="text" name="txtIP">
    <input type="submit" value="Tilføj">
</form>

</BODY>
</HTML>
Avatar billede bernhof Nybegynder
14. september 2004 - 21:33 #5
Nu har du da i hvert fald lidt at vælge imellem ;)
Avatar billede bernhof Nybegynder
14. september 2004 - 21:34 #6
sFilSti = Server.MapPath("ipbanned.txt")

kan du evt. udskifte med

sFilSti = "C:\Direkte\Sti\Til\Filen\ipbanned.txt"

(eksempelvis) hvis du kender den direkte til filen.
Avatar billede sjh Nybegynder
14. september 2004 - 21:35 #7
mikbj > der skal nok laves password på siden.. ellers kan alle jo tilføje en IP :D
Avatar billede mejse Nybegynder
14. september 2004 - 22:00 #8
Hej Mikbj

Jeg har nu prøvet med din kode men jeg får at siden ikke findes når jeg vil trykke på tilføj, den ligger der godt nok, men hvis det ikke var tilfældet så skulle den vel retunerer at siden ikke er det - ud fra det jeg kan forstå på din kode. har du prøvet den af ??

Mejse
Avatar billede bernhof Nybegynder
14. september 2004 - 22:08 #9
har du husket at gemme filen som "banip.asp" ?

sjh's forslag om password er blevet indbygget i følgende:

<%@ Language=VBScript %>
<%

If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
    'Formen er blevet submittet:
   
    'Undersøg om adgangskoden er blevet indtastet:
    If Session("BanKodeOK") <> "yes" Then
        If Request.Form("txtKode") <> "din-adgangskode-her" Then
            Response.Redirect "banip.asp?besked=" & Server.URLEncode("Forkert adgangskode.")
        Else
            Session("BanKodeOK") = "yes"
            Response.Redirect "banip.asp"
        End If
    End If
   
    Const ForAppending = 8
    Dim FSO, F, sFilSti
   
    'Opret filesystemobject, som benyttes til at
    'skrive til filen:
    Set FSO = CreateObject("Scripting.FileSystemObject")

    'Angiv sti til fil "ipbanned.txt"
    sFilSti = Server.MapPath("ipbanned.txt")

    'Undersøg om filen eksisterer
    If FSO.FileExists(sFilSti) Then
       
        'Skriv ny IP til fil, hvis filen eksisterer:
        Set F = FSO.OpenTextFile(sFilSti, ForAppending, False)
        F.WriteLine Request.Form("txtIP")
        F.Close
        Set F = Nothing
        Set FSO = Nothing
        Response.Redirect "banip.asp?besked=" & _
            Server.URLEncode("IP adressen " & Request.Form("txtIP") & " er blevet tilføjet til filen.")
    Else
       
        'Filen eksisterer ikke.
        Set FSO = Nothing
        Response.Redirect "banip.asp?besked=" & _
            Server.URLEncode("Filen '" & sFilSti & "' blev ikke fundet.")
    End If

End If

%>
<HTML>
<HEAD>
</HEAD>
<BODY>

<%
Dim sBesked
sBesked = Request.QueryString("besked")

If sBesked <> "" Then
    Response.Write "<p><font color=""red"">" & sBesked & "</font></p>"
End If
%>

<form name="frmAddIP" action="banip.asp" method="post">
    <% If Session("BanKodeOK") <> "yes" then %>

        Indtast adgangskode:<br>
        <input type="text" name="txtKode">

    <% Else %>
       
        Ban IP adresse:<br>
        <input type="text" name="txtIP">
   
    <% End If %>
   
    <input type="submit" value="OK">
</form>

</BODY>
</HTML>
Avatar billede bernhof Nybegynder
14. september 2004 - 22:11 #10
Hmm .. Manglede lige en lille ting til - nemlig at undersøge om man har indtastet noget i IP-feltet. Det er med i følgende:

<%@ Language=VBScript %>
<%

If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
    'Formen er blevet submittet:
   
    'Undersøg om adgangskoden er blevet indtastet:
    If Session("BanKodeOK") <> "yes" Then
        If Request.Form("txtKode") <> "din-adgangskode-her" Then
            Response.Redirect "banip.asp?besked=" & Server.URLEncode("Forkert adgangskode.")
        Else
            Session("BanKodeOK") = "yes"
            Response.Redirect "banip.asp"
        End If
    End If
   
    'Undersøg, om der er blevet indtastet en IP:
    If Trim(Request.Form("txtIP")) = "" Then
        Response.Redirect "banip.asp?besked=" & Server.URLEncode("Indtast en IP adresse.")
    End If
   
    Const ForAppending = 8
    Dim FSO, F, sFilSti
   
    'Opret filesystemobject, som benyttes til at
    'skrive til filen:
    Set FSO = CreateObject("Scripting.FileSystemObject")

    'Angiv sti til fil "ipbanned.txt"
    sFilSti = Server.MapPath("ipbanned.txt")

    'Undersøg om filen eksisterer
    If FSO.FileExists(sFilSti) Then
       
        'Skriv ny IP til fil, hvis filen eksisterer:
        Set F = FSO.OpenTextFile(sFilSti, ForAppending, False)
        F.WriteLine Request.Form("txtIP")
        F.Close
        Set F = Nothing
        Set FSO = Nothing
        Response.Redirect "banip.asp?besked=" & _
            Server.URLEncode("IP adressen " & Request.Form("txtIP") & " er blevet tilføjet til filen.")
    Else
       
        'Filen eksisterer ikke.
        Set FSO = Nothing
        Response.Redirect "banip.asp?besked=" & _
            Server.URLEncode("Filen '" & sFilSti & "' blev ikke fundet.")
    End If

End If

%>
<HTML>
<HEAD>
</HEAD>
<BODY>

<%
Dim sBesked
sBesked = Request.QueryString("besked")

If sBesked <> "" Then
    Response.Write "<p><font color=""red"">" & sBesked & "</font></p>"
End If
%>

<form name="frmAddIP" action="banip.asp" method="post">
    <% If Session("BanKodeOK") <> "yes" then %>

        Indtast adgangskode:<br>
        <input type="text" name="txtKode">

    <% Else %>
       
        Ban IP adresse:<br>
        <input type="text" name="txtIP">
   
    <% End If %>
   
    <input type="submit" value="OK">
</form>

</BODY>
</HTML>
Avatar billede mejse Nybegynder
14. september 2004 - 22:12 #11
nej jeg glemte at give det det rigtige navn, jeg har prøvet den, men når jeg chekker txt filen er der ikke skrevet noget i den, og hver ip skal skrives på en ny linie

Mejse
Avatar billede bernhof Nybegynder
14. september 2004 - 22:12 #12
Og ja- jeg har prøvet det af :)
Avatar billede bernhof Nybegynder
14. september 2004 - 22:13 #13
Hedder filen ipbanned.txt og ligger i samme mappe som ASP-siden?
Avatar billede mejse Nybegynder
14. september 2004 - 22:17 #14
jeps det gør den og den ligger i wwwroot
Avatar billede bernhof Nybegynder
14. september 2004 - 22:20 #15
Når du har trykket tilføj - skriver den så også "IP adressen blabla er blevet tilføjet til filen" ?
Avatar billede bernhof Nybegynder
14. september 2004 - 22:24 #16
En anden ting: Kører du Norton Antivirus el. lign. på maskinen? Nogle virusprogrammer blokerer skrivning til og sletning af filer i ASP, for at forhindre skadelig kode, som evt. kunne komme udefra, i at slette dine filer. Hvis du gør, skal du slå denne blokering fra, før scriptet virker.
Avatar billede mejse Nybegynder
14. september 2004 - 22:27 #17
første gang jeg prøvede retunerede den ikke at ip ..... blev tilføjet filen, nu prøver jeg igen (dejligt du har lavet pass til) og tilføjer en ip går den i stå ved ca 40% når jeg har trykket på ok
Avatar billede bernhof Nybegynder
14. september 2004 - 22:28 #18
Det er helt sikkert AntiVirus software, der stopper scriptet.
Avatar billede mejse Nybegynder
14. september 2004 - 22:35 #19
har prøvet st slå det fra men kommer stadig kun til 38% men jeg lader den lige stå lidt for at se om den ikke kommer igennem
Avatar billede bernhof Nybegynder
14. september 2004 - 22:36 #20
Ok, kan lige sige, at du nok lige skal lukke browseren og starte en ny, før ændringerne fra Virus-softwaren træder i kraft.
Avatar billede bernhof Nybegynder
14. september 2004 - 22:44 #21
For det bør kun tage et halvt sekund at gemme den IP i filen.
Avatar billede mejse Nybegynder
14. september 2004 - 22:51 #22
nu har jeg slået antivirus fra ved startup og genstartet men den hænger stadig, men jeg får det nok til at køre, når du kan få et til at virke.. så skal det også her

Mejse
Avatar billede bernhof Nybegynder
14. september 2004 - 22:56 #23
Tjah, altså - hvis det ikke er antivirus, så ved jeg ikke hvad det kan være. Måske noget indbygget i WindowsXP SP2, hvis du har installeret den.

Ellers skal du sætte IIS (Internet Information Services) op på en bestemt måde. Jeg kan bare ikke forestille mig, hvad det skulle være - udover Antivirus sofware, der får scriptet til at opføre sig sådan.
Avatar billede bernhof Nybegynder
14. september 2004 - 22:59 #24
En sidste bemærkning vil være, at det i Norton Antivirus, som jeg selv benytter, ikke er nok at "Disable Auto-Protect" eller hvad de forskellige producenter kalder det. Man skal ind i antivirus-settings og specifikt slå Script blocking fra. Hvis du ikke har prøvet det endnu, så er det et forsøg værd.
Avatar billede mejse Nybegynder
14. september 2004 - 23:00 #25
nej men jeg skal nok finde ud af det... du har ærligt fortjent dine point
Avatar billede bernhof Nybegynder
14. september 2004 - 23:03 #26
Jeg takker mange gange :)
Avatar billede bernhof Nybegynder
15. september 2004 - 12:19 #27
http://www.eksperten.dk/spm/539911 > Følg evt. med her og se hvad de finder ud af. Der er en der har samme problem som dig :)
Avatar billede mejse Nybegynder
15. september 2004 - 12:28 #28
jeg den må jeg lige have et øje på, for på mit webhotel fungerer den fino, så der er et eller andet lokalt der blokerer det... kan jeg kun give dig ret i.
Avatar billede bernhof Nybegynder
15. september 2004 - 12:29 #29
det var det jeg tænkte ;)
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
Kurser inden for grundlæggende programmering

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