webForumDet fria alternativet

HTTP PUT - 403 Forbidden

3 svar · 1 563 visningar · startad av erciz

ercizMedlem sedan maj 20011 826 inlägg
#1

Jag har ett konto hos One.com och tänkte leka lite med HTTP och PHP.

I vanliga fall använder man oftast bara HTTP GET och HTTP POST. Nu testade jag med curl från en Unix-maskin. HTTP GET http://mindomän.se/trest/ går bra, samma med HTTP POST http://mindomän.se/trest/ . Men när jag gör HTTP PUT http://mindomän.se/trest/ så får jag 403 Forbidden som svar. Varför? Är det något med rättigheterna med Apache och One.com? Eller är det något jag kan göra nåt åt? isåfall vad?

curl -X PUT http://mindomän.se/trest/
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML><HEAD>
<TITLE>403 Forbidden</TITLE>
</HEAD><BODY>
<H1>Forbidden</H1>
You don't have permission to access /trest/
on this server.<P>
</BODY></HTML>
ercizMedlem sedan maj 20011 826 inlägg
#2

Hittade en artikel om detta, och mycket riktigt verkar man behöva specifika inställningar för Apache.

Script PUT /put.php

Nu är frågan om detta är något jag kan göra själv på ett webbhotell? Går det att göra i .htaccess?

Artikeln: http://www.phpbuilder.com/manual/en/features.file-upload.put-method.php

nitro2k01Medlem sedan aug. 20039 342 inlägg
#3

Varför vill du göra PUT? Stöd för PUT är inte särkilt utbrett, och inte särskilt nödvändigt heller. Filuppladdningar använder i regel POST-anrop.
Och för att besvara din fråga, Apache har normalt bara stöd för GET, POST och OPTIONS. Du kan försöka att skriva in följande i .htaccess:

<Limit GET POST OPTIONS PUT>
        Order allow,deny
        Allow from all
</Limit>
<LimitExcept GET POST OPTIONS PUT>
        Order deny,allow
        Deny from all
</LimitExcept>
ercizMedlem sedan maj 20011 826 inlägg
#4

nitro2k01 skrev:

Varför vill du göra PUT? Stöd för PUT är inte särkilt utbrett, och inte särskilt nödvändigt heller. Filuppladdningar använder i regel POST-anrop.
Och för att besvara din fråga, Apache har normalt bara stöd för GET, POST och OPTIONS. Du kan försöka att skriva in följande i .htaccess:

<Limit GET POST OPTIONS PUT>
        Order allow,deny
        Allow from all
</Limit>
<LimitExcept GET POST OPTIONS PUT>
        Order deny,allow
        Deny from all
</LimitExcept>

Tack! Det fungerade umärkt! Anledningen är väl att jag vill leka lite med HTTP-protokollet, kanske göra nåt REST-liknande.

134 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)