Avatar billede cdc Novice
10. juli 2004 - 20:26 Der er 26 kommentarer og
1 løsning

viser kode i stedet for foto

når jeg smider denne kode ind <img border="0" src="images/pokalen_news.gif"> via mit admin modul, viser den koden, og ikke giffen når siden henter den fra db?

Skulle der være en der kunne hjælpe med dette ?

/cdc
Avatar billede thesurfer Nybegynder
10. juli 2004 - 20:31 #1
Har du en side, vi må kigge på?
Du bruger vel ikke server.urlencode (eller hvad den nu hedder)? eller erstatter "<" med "&lt;" og ">" med "&gt;"..?
Avatar billede cdc Novice
10. juli 2004 - 20:38 #2
http://www.hillerodgolf.dk/email/index_news.htm er siden men det bliver man vel ikke se klog af, koden er lang som et ondt år, er det den du vil se ?
Avatar billede thesurfer Nybegynder
10. juli 2004 - 20:40 #3
Er det den generede side? - der er ikke noget kode, i stedet for billede..
Eller mener du, at den ikke viser billedet MENS du laver siden ("under redigering")?
Avatar billede cdc Novice
10. juli 2004 - 20:45 #4
Når jeg i mit admin modul på siden skriver et img tag i nyheden kommer koden til at stå der i stedet for det billed som ligger i mappen.

Se den øverste nyhed på linket
Avatar billede thesurfer Nybegynder
10. juli 2004 - 20:47 #5
Se her:

&lt;img border=&quot;0&quot; src=&quot;images/pokalen_news.gif&quot;&gt;&lt;br&gt;&lt;br&gt;

Noget tyder på, at du (eller admin-modulet) erstatter "<" med "&lt;" og ">" med "&gt;".
Avatar billede thesurfer Nybegynder
10. juli 2004 - 20:48 #6
..og "-tegnet med "&quot;"
nu kan jeg ikke huske om server.encode (eller hvad den nu hedder) laver "<" om til "&lt;", og "-tegnet om til "&quot;"..
Avatar billede cdc Novice
10. juli 2004 - 20:54 #7
ok, der hvor jeg retter den og kunne skrive images ind ser det således ud:

<!--#include file ="main_text.htm"-->
<html>
<head>
<title>Hillerød Golf Klub</title>
<LINK href="css_filer/ss_wci.css" type=text/css rel=stylesheet>
<base target="_self">
</head>

<body>
      <table border="0" width="450" cellspacing="0" cellpadding="10">
              <tr>
          <td width="100%">
            <table border="0" cellspacing="0" cellpadding="0">
              <tr>

<%
if request("mode") = "gem" then

set conn = server.createobject("ADODB.connection")
path = Server.MapPath("xxxxxxx.mdb")
conn.Open "DBQ="& path &";DefaultDir="& path & ";Driver={Microsoft Access Driver (*.mdb)}"

SQL="UPDATE nyheder SET "
SQL = SQL & "overskrift='" & Request.form("overskrift") & "', "
SQL = SQL & "tekst='" & request.form("tekst") & "'"
SQL = SQL & " where ID =" & session("EditID")
Set RS = Conn.Execute(SQL)
%>

                <td width="100%" bordercolor="#FFFFFF">
                  <p class="dhtmlBold"><font size="5" color="#294A7B">Siden er opdateret
                  ...?
                  </font>
                  <table border="0" cellspacing="0" cellpadding="0">
                    <tr>
                      <td><img border="0" src="images/link_back.gif"></td>
                      <td>
                        <p class="copy">&nbsp;<a href="../Admin/default_01.asp">Tilbage til
                        menu</a></td>
                    </tr>
                  </table>
                  <p class="dhtmlBold"><%
set rstemp=nothing
Conn.Close
set conntemp=nothing

else

set conn = server.createobject("ADODB.connection")
path = Server.MapPath("xxx.mdb")
conn.Open "DBQ="& path &";DefaultDir="& path & ";Driver={Microsoft Access Driver (*.mdb)}"
SQL = "SELECT * from nyheder where id = " & Request.Querystring("ID")
set RS = Conn.Execute(SQL)
Session("overskrift") = RS("overskrift")
Session("tekst") = RS("tekst")
Session("editID") = Request.Querystring("ID")
%>

  <table border="1" cellpadding="0" cellspacing="0" bordercolor="#294A7B" style="margin-left: 0px;">
    <tr>
      <td bordercolor="#FFFFFF">
        <table border="0" width="420" cellspacing="0" cellpadding="3">
          <tr>
            <td bgcolor="#294A7B">
              <p class="rammetopBold">Rediger Nyhed..!</p>
            </td>
          </tr>
        </table>
      <form method="POST" action="ret_nyheder_form.asp">
      <INPUT TYPE="hidden" NAME="mode" VALUE="gem">
    <table border="0" cellpadding="0" cellspacing="0" width="420">
      <tr>
        <td width="21%" height="19" class="copy">Overskrift:</td>
        <td width="79%" height="19"><input type="text" name="overskrift" size="60" value="<% response.write session("overskrift") %>" style="font-family: Verdana; font-size: 10 px"></td>
      </tr>
      <tr>
        <td width="21%" height="20" class="copy" valign="top">Nyhed:</td>
        <td width="79%" height="20"><textarea name="tekst" rows="11" cols="59" , style="font-family: Verdana; font-size: 10 px"><% response.write session("tekst") %></textarea></td>
      </tr>
  </table>


      <p align="center">
  <input type="submit" value="Gem" name="b1"></p>

<%
end if
%>
</td>
              </tr>
            </table>
          </td>
        </tr>
      </table>
              <tr>
          <td width="100%">
            <table border="0" width="144">
              <tr>
                <td width="16">
                  <p align="right"><img border="0" src="images/link_back.gif"></td>
                <td width="114">
                  <p class="copy"><a href="../Admin/default_01.asp">Tilbage til menu</a></td>
              </tr>
            </table>

              </table>
</body>
<!--#include file ="main_bottom.htm"-->
Avatar billede cdc Novice
10. juli 2004 - 20:58 #8
i DB står den korrekt, så det må være der hvor jeg læser den ind ?
Avatar billede thesurfer Nybegynder
10. juli 2004 - 20:59 #9
Jeg kan se, at du gemmer teksten direkte fra feltet: SQL = SQL & "tekst='" & request.form("tekst") & "'"

Det er farligt, idet den vil fejle (melde fejl), hvis du i din tekst bruger tegnet: '
Tekst der gemmes i en database, skal altid fixes, specielt ved login!

eksempel:
dim tekst, overskrift
tekst = replace(request.form("tekst"), "'", "''")
overskrift = replace(request.form("overskrift"), "'", "''")

SQL="UPDATE nyheder SET "
SQL = SQL & "overskrift='" & overskrift & "', "
SQL = SQL & "tekst='" & tekst & "'"
SQL = SQL & " where ID =" & session("EditID")
Set RS = Conn.Execute(SQL)


Men det er ikke her problemet ligger.. problemet opstår, når du udskriver teksten fra databasen..
Avatar billede cdc Novice
10. juli 2004 - 21:01 #10
klarede den: skulle bare rette denne: <%=FixaLankar(Server.HTMLEncode(RecSet("tekst")))%> til <%=RecSet("tekst")%>
Avatar billede thesurfer Nybegynder
10. juli 2004 - 21:04 #11
Det står sikkert på norsk/svensk.. og hvis jeg ikke tager meget fejl, betyder det "fix link".. kig lige i funktionen, så du er sikker på, at den kan undværes :-)
Avatar billede cdc Novice
10. juli 2004 - 21:05 #12
smid lige et svar, da jeg længe har irriteret mig over at jeg ikke kunne bruge ' i min tekst
Avatar billede cdc Novice
10. juli 2004 - 21:05 #13
det kan den, har testet nu, du kan se det i nyheden: Hillerød Pokalen / Nykredit Open 2004
Avatar billede cdc Novice
10. juli 2004 - 21:07 #14
den er ikke helt glad for det, da den nu ikke vil udlæse mine links på siden, nu skriver den bare stien, men der kommer ikke link på
Avatar billede thesurfer Nybegynder
10. juli 2004 - 21:07 #15
Og det er hermed gjort :-)

HUSK!: Ved login skal et enkel ' tegn enten erstattes af "" (ingenting) eller dobbelt ' tegn!

Ellers kan du nøjes med at kende brugernavnet, og logge ind..
Eksempel:

brugernavn: admin
kodeord: ' or ' = ''

Det er nok til at logge ind, hvis med brugernavnet admin (hvis det eksisterer), hvis man ikke fixer ' tegnet.
Avatar billede cdc Novice
10. juli 2004 - 21:07 #16
min link fil ser sådan her ud:

<%Function FixaLankar(s)
On error resume next
Set objRE = new RegExp
objRE.IgnoreCase = True : objRE.Global = True
objRE.Pattern = "(http:\/\/|www\.)(\w|\&|\:|\;|\.|\/|\?|\~|\=|-)+"
Set m = objRE.Execute(s)
For Each o In m
If Right(o.Value, 1)="." Or Right(o.Value, 1)="!" Or Right(o.Value, 1)="?" Or Right(o.Value, 1)="," Then
If Left(o.Value, 3) = "www" Then s = Replace(s, o.Value, "<A HREF=""http://" & Left(o.Value, Len(o.Value)-1) & """ target=""_self"">" & Left(o.Value, Len(o.Value)-1) & "</A>" & Right(o.Value, 1)) Else s = Replace(s, o.Value, "<A HREF=""" & Left(o.Value, Len(o.Value)-1) & """>" & Left(o.Value, Len(o.Value)-1) & "</A>" & Right(o.Value, 1))
Else
If Left(o.Value, 3) = "www" Then s = Replace(s, o.Value, "<A HREF=""http://" & o.Value & """ target=""_self"">" & o.Value & "</A>") Else s = Replace(s, o.Value, "<A HREF=""" & o.Value & """ target=""_blank"">" & o.Value & "</A>")
End If
Next
Set objRE = Nothing

    ' Tillåten HTML kod
s    = Replace(s,"[f]","<b>")
s    = Replace(s,"[/f]","</b>")
s    = Replace(s,"[k]","<i>")
s    = Replace(s,"[/k]","</i>")
s    = Replace(s,"[farg]","<font color=#800000>")
s    = Replace(s,"[/farg]","</font>")
s    = Replace(s, vbCrLf, "<br>")
s    = Replace(s,"","")

FixaLankar = s

End Function%>
Avatar billede squashguy Nybegynder
10. juli 2004 - 21:08 #17
cdc.. det er ikke bare at kunne bruge ' i din tekst. du lader dit site være pivåben overfor hackere, hvis du ikke kontrollerer input. prøv at gå på google og søg på "sql injection"
Avatar billede thesurfer Nybegynder
10. juli 2004 - 21:11 #18
10/07-2004 21:07:51> uhm.. sure.. ser fint ud :-)
Avatar billede cdc Novice
10. juli 2004 - 21:11 #19
ja det har jeg opdaget, nu er jeg ikke helt stabil i asp, så det er mange ting endnu som lige skal ordnes
Avatar billede cdc Novice
10. juli 2004 - 21:12 #20
ja men den link fil thesurfer vil ikke tillade img tag ? kan du se hvorfor ?
Avatar billede thesurfer Nybegynder
10. juli 2004 - 21:19 #21
hmm.. jeg forstår ikke hvad du mener, i indlægget 10/07-2004 21:12:39..
link fil?
Avatar billede cdc Novice
10. juli 2004 - 21:23 #22
i den kode som jeg smed her ind sidst står der ingenting om img, da den ikke vil vise den. Sletter jeg fixlankar fra siden vil den ikke vise links på de adresser jeg linker til fra siden, så det er enten pæst eller kolera.

Prøvede med denne:

s    = Replace(s,"[f]","<b>")
s    = Replace(s,"[/f]","</b>")
s    = Replace(s,"[k]","<i>")
s    = Replace(s,"[/k]","</i>")
s    = Replace(s,"[farg]","<font color=#800000>")
s    = Replace(s,"[/farg]","</font>")
s    = Replace(s, vbCrLf, "<br>")
s    = Replace(s, &lt;, "<")
s    = Replace(s, &quot;, """)
s    = Replace(s, &gt;, ">")
s    = Replace(s,"","")

og den var den ikke glad for
Avatar billede thesurfer Nybegynder
10. juli 2004 - 21:30 #23
RegExp er ikke lige min stærke side, så jeg ved ikke hvad den gør her:

objRE.Pattern = "(http:\/\/|www\.)(\w|\&|\:|\;|\.|\/|\?|\~|\=|-)+"

fejlen er nok her:

s    = Replace(s, &lt;, "<")
s    = Replace(s, &quot;, """)
s    = Replace(s, &gt;, ">")

Det er fordi "&lt;", "&quot;", og "&gt" skal stå i ""
Avatar billede thesurfer Nybegynder
10. juli 2004 - 21:35 #24
Det skal nok være: s    = Replace(s, "&quot;", """") :-)
Avatar billede thesurfer Nybegynder
10. juli 2004 - 21:35 #25
eller: s    = Replace(s, "&quot;", chr(34))
Avatar billede cdc Novice
10. juli 2004 - 21:40 #26
s    = Replace(s, "&quot;", chr(34)) denne funkede :o) Tak for hilfe
Avatar billede thesurfer Nybegynder
10. juli 2004 - 21:45 #27
Det var så lidt, og takker for points :-)
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