14. september 2004 - 15:39Der 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
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?
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.
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>
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 ??
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 %>
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 %>
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
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.
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
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
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.
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.
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.
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.