Тема
|
Dopuskane do link
|
|
Автор | brbrb (Нерегистриран) |
Публикувано | 06.06.03 19:34 |
|
Iskam da napravq CGi,koeto pri pravilno napisana parola da podava link na posetitelq i da go puska da vleze nqkade.Oba4e posetitelq da ne znae kade e linka ta drugiq pat napravo da si vlezne tam bez da pishe parola.Tova s parolata moga i sam da si go napisha
,no ne znam kak da go napravq da mu podade novata stranica i to bez da se vijda mestonahojdenieto i .
|
|
Тема
|
Re: Dopuskane do link
[re: brbrb]
|
|
Автор |
Yankoff (ъанкофф.) |
Публикувано | 06.06.03 21:06 |
|
Nevuzmojno e dori na teoriq usera (browsera) da otvori stranica bez da znae tochnia URL.
Setvai cookie pri logvaneto i posle pri vtoroto url go getvai i proverqvai dali usera e validen. Nqma drug nachin
__________________________
|
|
Тема
|
Re: Dopuskane do link
[re: Yankoff]
|
|
Автор | brbrb (Нерегистриран) |
Публикувано | 06.06.03 21:47 |
|
ama az sym lama i oshte ne sym stignal do cookie-te.Plus tova sega kato sa zamisla ne znam i kak da napravq SOCKET-a ,toest da mu se otvori linka.Za sega sega mislq 4e shte se opravq samo s parolite razni cikli i takiva raboti.
Ami v nqkoi saitove kadeto primerno trqbva da imash user i parola za ta teglish failove kak stava rabotata ?
|
|
Тема
|
Re: Dopuskane do link
[re: brbrb]
|
|
Автор | seeker (Нерегистриран) |
Публикувано | 06.06.03 23:41 |
|
Nesto katro ideia:
da kazhem che imash login.cgi i main.cgi
v login.cgi sled kato nap0ravis proverkata che usera e napisal poravilna user i parola mozhe da uzgeneriorash hash na bazata na nesto si i posle da zigenerirash file s tova ime koito da e simvolen link kam main.cgi. ta posle prastash na browser-a Location: /cgi-bin/generiranoime.cgi
etetvenno triabva da imash edin script v cron-a koito na opredelen interval da trie tezi simvolni linkove
ako pravilno sam razbral vaprosa
|
|
Тема
|
Re: Dopuskane do link
[re: brbrb]
|
|
Автор |
Yankoff (ъанкофф.) |
Публикувано | 07.06.03 11:14 |
|
Cookies ne sa tudni. Procheti malko dokumentaciq i shte ti stane qsno. Ste si spestish dosta vreme puk i shte ti trqbva za v budeshte. Ako ti e po-lesna ideqta na seeker realizirai neq, vupreki che na mene mi se struva po trudna i poveche igrachka.
Ako ne ti se zanimava s cookies mojesh da si generirash sam edin random string koito da izpolzvash v URL-to kato sesiq.
A v tiq saitove, za koito pitash se pravi po sledniq nachin:
Imash failovete za teglene, koito sa v dir izvun wwwroot-a, t.e. nemojesh da gi izteglish po nachin http://domain/file. Otvarqsh si da rechem nqkakav cgi na server-a, toi te checkva dali si validen user, ako da - otvarq nujniq file za download posredstvom pulen put(ne URL path, a file path, primerno /home/blabla/file) i ti go printva sus suotvetniq content-type.
Primerno print "Content-type:application/zip"; vmesto text/html shte kaje na browsera kakav tip e documenta. Posle browsera si znae kakvo da pravi s .zip file.
Nadqvam se e dostatuchno
__________________________
|
|
Тема
|
Re: Dopuskane do link
[re: seeker]
|
|
Автор | brbrb (Нерегистриран) |
Публикувано | 09.06.03 08:02 |
|
Mnogo ti blagodarq.Malko shte se ozorq shtoto sym nov,no misla 4e shte go napravq.Kogato 4ovek ima jelanie vsi4ko stava
|
|
Тема
|
Re: Dopuskane do link
[re: Yankoff]
|
|
Автор | brbrb (Нерегистриран) |
Публикувано | 09.06.03 08:13 |
|
Specialni blagodarnosti Yankoff ti si sigurno nai-otziv4iviq na toq forum i vinagi pomagash.
/home Tuk sym dal primerno razpolojenie na dir-
| ektoriite i faila "login.cgi".Faila,koito trqbva da se
----------- podade za download e v "Failove".Bi li mi dal primer
| | kak gore dolu trqbva da stane vsi4ko po na4ina,
user1 user2 koito kaza,za da mi stane po-qsno :-)
| \
----------- ---/Failove Blagodarq predvaritelno.
| |
www cgi-bin
| |
index.htm login.cgi
|
|
Тема
|
Re: Dopuskane do link
[re: Yankoff]
|
|
Автор | brbrb (Нерегистриран) |
Публикувано | 09.06.03 08:21 |
|
Sorry,no grafikata koqto iskah da dam za primer ne moja da izleze formatiran i se sma4ka.Kakto i da e.Ako ne mojesh da razberesh kakvo sym pokazal ne mi otgovarqi.
|
|
Тема
|
Re: Dopuskane do link
[re: brbrb]
|
|
Автор |
Yankoff (ъанкофф.) |
Публикувано | 09.06.03 11:58 |
|
Mi naistina nerazbrah grafikata. no imam nqkkava ideq za kakvo pitash.
Da kajem imash /home/user/www/cgi-bin/, kadeto sa login.cgi i download.cgi
Imash i /home/user/files/, kadeto sa failovete za download (zabeleji che sa izvun wwwroot-a)
login.cgi ti pravi user proverka i ako e validen user dava link za download (primerno download.cgi?id=1)
Za otorizaciq s cookies sam pisal tuk , no ne e opisano secure. Za security-to vseki sam si go osigurqva
Posle imash download.cgi
id parametara kazva koi file e za download (tova shte si go realizirash nqkaksi dali s DB ili txt file si e tvoq rabota)
#!/user/bin/perl
#checkvash dali e validen usera, ako ne exit ako da continue
#proverqvash id-to na koi file otgovarq
#primera e za zip file
print "Content-type: Application/zip;\n\n";
$nl=$/;
undef $/;
open(FILE,"/home/user/download/file.zip") || die $!;
binmode(FILE);
$content=<FILE>;
close(FILE);
$/=$nl;
print $content;
Kogato izvikash download.cgi toi vrashta na browsera zip content i browsera vadi download box-a
Tova e. Ti kaza che si nachinaesht i moje da te zatrudni malko, no nqma kak ili pone az ne znam drug nachin.
__________________________
|
|
Тема
|
Re: Dopuskane do link
[re: Yankoff]
|
|
Автор | brbrb (Нерегистриран) |
Публикувано | 10.06.03 14:49 |
|
A samo da te pitam za tova koeti si dal za primer trqbva li da se izpolzvat zadyljitelno cookies ili i samo taka stava.I oshte,servera mi ne dava vryzkite da izlizat izvyn cgi-bin direktoriqta,a samo da vlizat.ne znam kak da go opravq.
|
|
Тема
|
Re: Dopuskane do link
[re: brbrb]
|
|
Автор |
Yankoff (ъанкофф.) |
Публикувано | 11.06.03 09:46 |
|
Cookies sa za da proverish dali e validen usera. Kakto iskash taka go pravi, no ne sa zadaljitelni.
I oshte,servera mi ne dava vryzkite da izlizat izvyn cgi-bin direktoriqta,a samo da vlizat.ne znam kak da go opravq.
Ne ti razbiram vaprosa. Pitai sysadmina ili probvai
__________________________
|
|
Тема
|
Re: Dopuskane do link
[re: Yankoff]
|
|
Автор | brbrb (Нерегистриран) |
Публикувано | 11.06.03 10:27 |
|
za servera imam v predvid,4e e na moito pc i cgi-tokoeto e vytre kato mu dam primerno "../movies/film.avi" i toi pishe NotFound,a pytq do tam e veren 100 pati go proverih.Drugoto koeto e: kak da kaja v scripta primerno:
} else {
prati zaqvka na download.cgi;
}
az tova ne mojah da razbera ,a tova : cgi-bin/download.cgi?id=1
se opitvam da go vzema po sledniq na4in:
use CGI;
$cgi = new CGI;
$file = $cgi->param('id'); oba4e neshto ne stava
pokazva mi slednoto v error_log:
[error] (2)No such file or directory: exec of /home/cgi-bin/download.cgi failed
[error] [client 217.*.*.*] Premature end of script headers: /home/cgi-bin/download.cgi
|
|
Тема
|
Re: Dopuskane do link
[re: brbrb]
|
|
Автор |
Yankoff (ъанкофф.) |
Публикувано | 11.06.03 17:32 |
|
za servera imam v predvid,4e e na moito pc i cgi-tokoeto e vytre kato mu dam primerno "../movies/film.avi" i toi pishe NotFound,a pytq do tam e veren 100 pati go proverih.
polzvai pulen put: /home/blabla/movies/film.avi
Drugoto koeto e: kak da kaja v scripta primerno:
} else {
prati zaqvka na download.cgi;
}
az tova ne mojah da razbera
} else {
print "<meta http-equiv=\"refresh\" content=\"0;url=download.cgi?id=1\">";
}
a tova : cgi-bin/download.cgi?id=1
se opitvam da go vzema po sledniq na4in:
use CGI;
$cgi = new CGI;
$file = $cgi->param('id'); oba4e neshto ne stava
$file e raven na 1 v toq sluchai, posle kakvo pravish neznam
pokazva mi slednoto v error_log:
[error] (2)No such file or directory: exec of /home/cgi-bin/download.cgi failed
[error] [client 217.*.*.*] Premature end of script headers: /home/cgi-bin/download.cgi
Premature end of script headers obiknoveno oznachava, che nqma content-type zadaden i nemoje da izkara greshkata na ekrana
ako iskash da otvarqsh avi
print "Content-type: video/x-msvideo;\n\n";
ako iskash da vadi greshki :
print "Content-type: text/html;\n\n";
za da gi smeshish trqbva da si poigrasesh s if/else blokove, no ne mojesh da gi polzvash zaedno.
Imam predvid:
if (neshto){print "Content-type: text/html;\n\n"; print "greshka";}
else {"neshto"}
if (vsichko e ok)
{
print "Content-type: video/x-msvideo;\n\n";
open (FILE, "/home/......./film.avi")
.......
}
__________________________
|
|
Тема
|
Re: Dopuskane do link
[re: Yankoff]
|
|
Автор | brbrb (Нерегистриран) |
Публикувано | 12.06.03 08:05 |
|
Zna4i za tova "1" ,koeto idva ot id=1 ,probvah po sldniq na4in kato izpolzvam tova,koeto si mi pokazal:
#!/user/bin/perl
use warnings;
use CGI;
$cgi = new CGI;
$file = $cgi->param('id');
if ($file == '1') {
print "Content-type: video/x-msvideo;\n\n";
$nl=$/;
undef $/;
open(FILE,"/home/user/movies/movieq.avi") || die $!;
binmode(FILE);
$content=<FILE>;
close(FILE);
$/=$nl;
print $content;
} else {
print "Content-type: text/html\n\n";
print "Failyt ne moje da byde nameren";
exit;
}
Sled kato ne iskashe da mi izkarva dori i else bloka,probvah prosto sys :
print "Content-type: text/html\n\n";
print "$file";
no ne mi otpe4ata daje i cifrata 1 .Nekade pravq nqkakva glupava i elementarna gresha,no oshte ne moga da se usetq kakva e.Wsyshnost scriptyt go bqh napravil malko po-slojen ot tova koeto sym pokazal tuk,toest usera se
identva predi da mu otvori stranicata s linkovete kym avi-tata.Tam za vsqko film4e ima link-screenshot i vseki link e s razli4no "id".Sled kato klikne na nqkoi cgi-to proverqva id-to i go prashta kym opredeleniq fail,no sled kato i taka neshto byrkam nqma smisyl da go pisha oshte po po-slojniq na4in za6toto hepten nqma da moga da si namerq greshkata .
Vse pak Yankoff mnogo ti blagodarq 4e se zanimavash s moite prostotii i nevejestvo i ako ne pishesh pove4e shte te razbera
|
|
Тема
|
Re: Dopuskane do link
[re: brbrb]
|
|
Автор |
Yankoff (ъанкофф.) |
Публикувано | 12.06.03 10:44 |
|
Znachi koda ti si raboti.
1. Proveri si purvo dali apache-to ima prava v tazi dir kadeto ti e avi-to
2. Proveri si CPU-to dali ne e natovareno, poneje tozi proces e mnogo baven (chak sega zabelazah). Probvai s malko .avi
Dosega sam go polzval toq method za malki png-ta, kadeto ne se useshtashe da natovarva PC-to, no qvo nachina ne e dobur. Za edno .avi ot roda na 8MB mi se nalaga da chakam 2-3 min (celeron 1GHz, 256 SDRAM).
Ne se seshtam v momenta kak, no koda trqbva da se optimizira ili prenapishe po drug nachin.
Moje bi nqkoi drug ot foruma shte se namesi, che na mnogo hora bi im bilo polezno.
__________________________
|
|
|
Zdrasti az sum brbrb i sq si regnah toq nick .
1.) Ta iskam da te pitam tova pone pravilno li e : if ($file == '1') , v smiyl s tozi operator "==" li trqbva da proverqvam 4isla i ako uslovieto e smeseno
($string == 4islo) koi operator se izpolzva : == ili eq
2.) Mashinata mi e slaba Cel 400,160 RAM, a avi-tata sa malki po 1 MB sa.
Кой ми показа кво е РС да го .....
|
|
|
Table 2.2: Numeric and String Comparison Operators Comparison
Comparison Numeric String
Equal == eq
You may wonder why there are separate operators for numbers and strings, if numbers and strings are automatically converted back and forth. Consider the two values 7 and 30. If compared as numbers, 7 is obviously less than 30, but if compared as strings, the string "30" comes before the string "7" (because the ASCII value for 3 is less than the value for 7), and hence is less. Perl always requires you to specify the proper type of comparison, whether it be numeric or string.
Nadqvam se znaesh english :)
ili s dve dumi kazano eq se izpolzva za string sravneniq a == za chisleni
Preporachvam ti eq za povecheto neshta osven ako ne rabotish s ogromni masivi/bazi/struckturi/..., v koito znaesh tipa danni.
Povecheto hora biha me upreknali, no tozi vupros e dosta osporvan v nqkoi golemi chujdi forumi i vseki si ima stil na rabota.
btw
$foo = 42; #tova e integer
$foo = "42"; #tova e string
ima razlika (ne samo kavichkite:))
__________________________
|
|
|
Da napylno te razbarh.V kraina smetka uspqh da napravq vsi4ko taka kakto iskah kato sa zarovih i malko u nas v knigite ama bez tvoita pomosht garanciq nqmashe da se spravq .Samo se polu4i edin malyk problem.
Zna4i napravih slednoto:select.cgi izkarva na ekrana stranica sas tri probni kartinki,koito slujat za linkove(kato predi tova usera e proveren za login i pass).Kato klickna na edin ot trite kartinki link-a izprashta kym download.cgi syotvetno id=1 ili id=2 ili 3.V tozi download.cgi s malko if-elsif-else obrabotvam i kazvam pri koe id koi fail da prashta kym browsera.Trite faila sa pic1.zip pic2.zip etc.Scripta mi dava prozoreca za download oba4e kato dam save ne mi pokazva faila kato pic1.zip a kato download.cgi .A vsyshnost tova si e pic1.zip zashtoto kato mu smenq razshirenieto na zip i go razarhiviram vsi4ko si e OK.Ne znam zashto taka stava.A drugoto koeto e,4e kogato slojih tozi red s META tag-a i kogato stranicata se refreshne browsera mi pokazva syobshtenieto ,koeto trqbva da se pokaje ako ne sym se lognal.Toest zarejda samiq script nanovo(koito iska pak da se logna) ,a ne predishnata stranica.
Кой ми показа кво е РС да го .....
|
|
|
Scripta mi dava prozoreca za download oba4e kato dam save ne mi pokazva faila kato pic1.zip a kato download.cgi
zabravi togava print "content-type: ...";
napravi go taka:
use CGI;
$query = new CGI;
print $query->header(-type=>'application/octet-stream', -attachment=>'foo.gif');
Sloji na mqstoto na foo.gif kakto iskash da se kazva file-a kato se downloadva
A drugoto koeto e,4e kogato slojih tozi red s META tag-a i kogato stranicata se refreshne browsera mi pokazva syobshtenieto ,koeto trqbva da se pokaje ako ne sym se lognal.Toest zarejda samiq script nanovo(koito iska pak da se logna) ,a ne predishnata stranica.
nerazbiram mnogo dobre, no mai imash nqkade logicheska greshka
__________________________
|
|