FlashXMedlem sedan nov. 1999992 inlägg
Diskussionstråd för scriptet på http://script.webforum.nu/wf/Forum3/HTML/000001.html
Förvisso finns det redan massor med script för just uppladdning av filer men tyckte inte att dom hade de funktioner som man behövde. Antingen är dom inte flexibla eller så består dom av flera olika filer som måste ändras för att fungera tillfredställande.
Gjorde för ett tag sedan en variant för eget behov som jag nu kompletterat med lite fler inställningar som kanske kan passa även andra.
Scriptet får fritt distrubieras, användas och modifieras men lämna gärna in eventuella egna modifieringar i denna tråden.
RobbanMedlem sedan dec. 19992 272 inlägg
check_userName = 0;
foreach $userName (@userNames) {
if (($FORM{'userName'}) eq $userName) {
$check_userName = 1;
}
}
$check_passWord = 0;
foreach $passWord (@passWords) {
if (($FORM{'passWord'}) eq $passWord) {
$check_passWord = 1;
}
}
...
elsif (($check_userName == 1) && ($check_passWord == 1)) {
&uploadForm
}
Innebär väl, så vitt jag kan se, att om du har följande användare:
@userNames = ('userA','userB','userC');
Och följande lösenord:
@passWords = ('passwordA','passwordB','passwordC');
Så kan t.ex. userB använda vilket som av lösenorden passwordA, passwordB eller passwordC. Motsvarande gäller för de andra användarna. Är det inte meningen att userA skall ha passwordA o.s.v.?
Dessutom skyddar du, vad jag kan se i.a.f., ju bara själva formuläret. Inte möjligheten att ladda upp filer. Vad hindrar en angripare från att skriva ett eget formulär med action="UploaderSE.cgi?action=upload" och använda det? :)
------------------
Robban < robban@lipogram.com >
FlashXMedlem sedan nov. 1999992 inlägg
Jo, det är helt riktigt. Fast man måste nästan ha sett koden i scriptet först.
Vill man ha högre säkerhet så är det nog en .htaccess som är enda alternativet. Scriptets lösenordsskydd är mest för att hålla "vanligt" folk borta från uppladdningen.
Fast finns det förbättringar angående detta så välkommnas de naturligtvis tacksamt :)
Vad hindrar en angripare från att skriva ett eget formulär med action="UploaderSE.cgi?action=upload" och använda det?
Det kan man ganska enkelt förhindra med en REFERER. Ska fixa detta snarast...
[Redigerat av FlashX den 14 jul 2000]
SweyMedlem sedan apr. 20002 000 inlägg
Lägger näsan i blöt :q :e
För det första går det nog att fixa säkerheten utan .htaccess genom att koppla rätt användarnamn till rätt lösenord när man kontrollerar.
För det andra löser HTTP_REFERER inga problem. Robban har ju själv erkänt att han leker med Referer ;)
För det tredje så spelar det väl ingen roll om man gör ett eget formulär :q
Så länge man inte har namn och lösenord så kommer man inte in ändå.
------------------
- Swey
Projekt wF PHP
[Redigerat av Swey den 14 jul 2000]
RobbanMedlem sedan dec. 19992 272 inlägg
Så länge man inte har namn och lösenord så kommer man inte in ändå.
Som scriptet var uppbyggt när jag tittade på det är det bara funktionen &uploadForm som var skyddad av lösenordsfunktionen. Funktionen &upLoad (dit man kommer om man anropar med ?action=upload) är inte skyddad alls vad jag kan se?
Dessutom frågar jag mig om scriptet fungerar ö.h.t. om man inte har lösenordsfunktionen påslagen? Innebär inte följande ...
if ($passProtection != 1) {
&uploadForm;
}
...
... att man alltid kommer till &uploadForm oberoende av vad ?action=... har för värde? Har i.o.f.s. inte detaljstuderat scriptet, så jag kanske har missat något?
------------------
Robban < robban@lipogram.com >
FlashXMedlem sedan nov. 1999992 inlägg
Har uppdaterat scriptet med en referer till funktionen &upLoad
Citat Robban:
if ($passProtection != 1) {
&uploadForm;
}
Skall naturligtvis vara
if (($passProtection != 1) && ($in{'action'} eq "")) {
&uploadForm;
}
:)
Sedan när det gäller alla frågor kring säkerheten så var det inte min avsikt att skapa något idiotsäkert inloggningssystem.
Det var i första hand att göra ett flexibelt script för uppladdning av filer som avsågs.
Har någon kodexempel på hur inloggningen kan bli säkrare så är ju det naturlgtvis ett stort plus :)
Vill dock behålla idéen om en fil, hellre än flera.
[Redigerat av FlashX den 14 jul 2000]
Gislaved.netMedlem sedan juni 20001 274 inlägg
Jag testade demoversionen, men den funkade inte så bra. En jpg-bild som jag laddade upp kunde inte visas, och programmet godkände inte mina gif-filer....
------------------
Gislaved.net - Ett roligare Internet!
FlashXMedlem sedan nov. 1999992 inlägg
Det fungerar bra när jag testar.
Däremot så är det nog något fel på din bild. Om det är student.jpg så fungerar den nämligen inte när man infogar den i ett html-dokument heller.
Webbläsaren kan inte tyda bilden.
Kanske är det inte en korrekt jpeg?
Testade att konvertera den i PhotoShop (sudent2.jpg) och då fungerar den.
http://www.lammhult.com/sample/uploader/uploads/