Avatar billede dustie Mester
10. september 2005 - 01:18 Der er 19 kommentarer og
1 løsning

PHPSESSID input felt overholder ikke Html 4.01 Strict?

Hejsa.

Jeg forsøger at overholde Html 4.01 strict på min hjemmeside, men når php laver en session tilføjer den dette til en form:
<input type="hidden" name="PHPSESSID" value="xxxxxxxxxx" />
..som resultere i en fejl.

Hvordan kan jeg få PHP til at lave det uden / tilsidst?
Altså: <input type="hidden" name="PHPSESSID" value="xxxxxxxxxx">
Avatar billede jaw Nybegynder
10. september 2005 - 01:23 #1
Hvordan er din kode?
Avatar billede dustie Mester
10. september 2005 - 01:32 #2
Hvilken del af koden?
Min form er bare en ganske alm. form hvor PHP indsætter koden efter <form action="#" method="get">
Avatar billede jaw Nybegynder
10. september 2005 - 01:34 #3
Joh, men den del af koden der laver den <input> du snakker om. /'en må vel komme et sted fra?!
Avatar billede dustie Mester
10. september 2005 - 01:35 #4
Det eneste jeg sætter i session er dette:

ini_set('arg_separator.output','&amp;');
session_start();
Avatar billede dustie Mester
10. september 2005 - 01:36 #5
Det er ikke min kode der laver det hvis det er det du mener?
Sådan indsætter PHP automatisk session id'et i en form.
Avatar billede jaw Nybegynder
10. september 2005 - 01:39 #6
Aha, nå.
Avatar billede jaw Nybegynder
10. september 2005 - 01:43 #7
Men hvordan gør du? Sådan:
echo "<input type='hidden' name='PHPSESSID' value='".session_id()."'>";
?

Jeg prøver bare at få den / frem også, men det lykkes ikke rigtig for mig...
Avatar billede dustie Mester
10. september 2005 - 01:45 #8
Du kan jo selv se her hvis du ikke tror mig:

Min kode:
<?php
ini_set('arg_separator.output','&amp;');
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/strict.dtd">
<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
    <meta name="robots" content="noarchive">
<title>Tweaks.dk - PHP legeplads</title>
<link href="site.css" rel="stylesheet" type="text/css"">
<link rel="Contents" href="site.php">
</head>
<body>
<form action="http://www.google.dk/search?" method="get">
<input type="hidden" name="ie" value="UTF-8">
<input type="hidden" name="oe" value="UTF-8">
<input type="hidden" name="domains" value="site.dk">
<input type="hidden" name="sitesearch" value="site.dk">
<input id="search" type="text" name="q" size="12"><input id="knap" type="submit" value="&lt;&lt;">
</form>



Kildekoden fra browseren:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" http://www.w3.org/TR/1999/REC-html401-19991224/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<meta name="robots" content="noarchive">
<title>Tweaks.dk - PHP legeplads</title>
<link href="site.css" rel="stylesheet" type="text/css" media="screen">
</head>
<body>
<form action="http://www.google.dk/search?" method="get"><input type="hidden" name="PHPSESSID" value="8d4c99e58601f203d4ec294046890ed9" />
<input type="hidden" name="ie" value="UTF-8">
<input type="hidden" name="oe" value="UTF-8">
<input type="hidden" name="domains" value="site.dk">
<input type="hidden" name="sitesearch" value="site.dk">
<input id="search" type="text" name="q" size="12"><input id="knap" type="submit" value="&lt;&lt;">
</form>
Avatar billede dustie Mester
10. september 2005 - 01:46 #9
Jeg bedre den overhovedet ikke om at udskrive det hidden input :)
Avatar billede dustie Mester
10. september 2005 - 01:51 #10
Jeg har også prøvet selv at tilføje et input felt som dette:
<input type="hidden" name="PHPSESSID" value="<php print session_id(); ?>">
Men PHP tilføjer stadig selv det andet felt.
Avatar billede jaw Nybegynder
10. september 2005 - 02:09 #11
Har du selv styr på din server? Hvad står din session.use_trans_sid til i php.ini?
Avatar billede dustie Mester
10. september 2005 - 02:10 #12
Det er surftown..
Hvordan ser jeg det?
Avatar billede dustie Mester
10. september 2005 - 02:16 #13
Det stod self i phpinfo. Det kunne jeg have sagt mig selv hvis det ikke var så sent :)
Den står til On.
Avatar billede jaw Nybegynder
10. september 2005 - 02:22 #14
Ja, det gør den nemlig. Den bør sættes til 1, da det faktisk er et sikkerhedshul.

Så vidt jeg kan se, har du 2 muligheder:
1. Kontakt surftown og hør om de ikke vil sætte den til 0.
2. Måske du kan løse det med:
  ini_set('session.use_trans_sid', 0);
Avatar billede jaw Nybegynder
10. september 2005 - 02:22 #15
Og nej, den bør ikke sættes til 1, men 0 selvf. :)
Avatar billede dustie Mester
10. september 2005 - 02:27 #16
Så må jeg have fat i surftown for det hjælper ikke at jeg prøver at ændre den.
Hvorfor er det et sikkerhedshul?

Og er det derfor den tilføjer det input felt til min form?
Avatar billede jaw Nybegynder
10. september 2005 - 02:32 #17
Ifølge hvad jeg har læst mig frem til, og som jeg også selv regnede med men gerne ville have bekræftet, så er den var i hvert fald en stor grund til at den gengives i din kilde.

Og for at argumentere for sikkerhedshullet, så kan jeg paste en bid fra php.ini:
; trans sid support is disabled by default.
; Use of trans sid may risk your users security.
; Use this option with caution.
; - User may send URL contains active session ID
;  to other person via. email/irc/etc.
; - URL that contains active session ID may be stored
;  in publically accessible computer.
; - User may access your site with the same session ID
;  always using URL stored in browser's history or bookmarks.

Jeg læste også et par steder om, at du kan løse det med noget rewrite-fidus, men du kan jo selv google lidt, det var det jeg gjorde...
Avatar billede dustie Mester
10. september 2005 - 02:34 #18
Det må jeg gøre så. Tak for hjælpen.

Et svar? :)
Avatar billede jaw Nybegynder
10. september 2005 - 02:37 #19
Det var så lidt, jeg lærte jo også en smule :)
Avatar billede dustie Mester
10. september 2005 - 02:40 #20
Nå, ifølge surftowns videndatabase skulle jeg selv kunne ændre det. Jeg kan dog ikke se det gør en forskel. Jeg må google den lidt :)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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