Hey allemaal,
Wellich dat iemand me hier verder kan helpen.
Ik gebruik aMember als membership systeem, en deze heeft een .htaccess restrictie geplaatst zodat klanten een map alleen kunnen bereiken na inloggen.
Echter zit er in deze map een cruciaal bestand (cronjob) die ik dus niet kan callen omdat de map dus beveiligt is. Als ik dus een cronjob instel, vraagt deze dus om in te loggen wat dus niet lukt.
Het framework waar de cron in is gemaakt is CodeIgnitor.
Dit is mijn htaccess file:
########### AMEMBER START #####################
Options +FollowSymLinks
RewriteEngine On
## allow access for product #3
RewriteCond %{HTTP_COOKIE} amember_remote_nr=([a-zA-Z0-9]+)
RewriteCond /home/deb34766n29/domains/domain.com/public_html/login/data/new_rewrite/%1-3 -f
RewriteRule ^(.*)$ - [L]
## allow access for product #4
RewriteCond %{HTTP_COOKIE} amember_remote_nr=([a-zA-Z0-9]+)
RewriteCond /home/deb34766n29/domains/domain.com/public_html/login/data/new_rewrite/%1-4 -f
RewriteRule ^(.*)$ - [L]
## if user is not authorized, redirect to login page
RewriteCond %{QUERY_STRING} (.+)
RewriteRule ^(.*)$ http://www.domain.com/login/?products=3,4&url=%{REQUEST_URI}?%{QUERY_STRING}&r eferer=%{HTTP_REFERER} [L,R]
RewriteRule ^(.*)$ http://www.domain.com/login/?products=3,4&url=%{REQUEST_URI}&referer=%{HTTP_RE FERER} [L,R]
########### AMEMBER FINISH ####################
Dit isd e URL naar de cron: http://www.domein.com/codeignitor_map/index.php/cron/
Is er een manier om deze specifieke URL niet te beveiligen zodat een cronjob regel in directadmin deze toch kan callen?
Bij voorbaat denk!
Groet,
Aron
- Cronjob issue
-
24-12-2014, 20:38 #1Particulier
- Berichten
- 20
- Lid sinds
- 12 Jaar
Cronjob issue
-
In de schijnwerper
-
24-12-2014, 22:57 #2
- Berichten
- 557
- Lid sinds
- 16 Jaar
Re: Cronjob issue
De oplossing is eigenlijk heel simpel. Ze vragen je mogelijk een cronjob aan te maken en daarbij als commando wget te gebruiken. Dan loop je inderdaad tegen de beveiliging aan. Zou je de cronjob echter via het interne php commando uitvoeren dan heb je dit probleem niet.
Maak dus je cronjob als volgt aan:
* * * * /usr/bin/php -f .../pad/naar/cron.php
In dit voorbeeld ga ik er vanuit dat /usr/bin je php path is.
Dit zou moeten werken ;)
-
24-12-2014, 23:01 #3Particulier
- Berichten
- 20
- Lid sinds
- 12 Jaar
Re: Cronjob issue
De oplossing is eigenlijk heel simpel. Ze vragen je mogelijk een cronjob aan te maken en daarbij als commando wget te gebruiken. Dan loop je inderdaad tegen de beveiliging aan. Zou je de cronjob echter via het interne php commando uitvoeren dan heb je dit probleem niet.
Maak dus je cronjob als volgt aan:
* * * * /usr/bin/php -f .../pad/naar/cron.php
In dit voorbeeld ga ik er vanuit dat /usr/bin je php path is.
Dit zou moeten werken ;)
Mijn script werkt op codeignitor... dus er is geen .php bestand ?
kan ik dan alsnog die /index.php/cron aanroepen?
Groet,
Aron
-
24-12-2014, 23:14 #4
- Berichten
- 557
- Lid sinds
- 16 Jaar
Re: Cronjob issue
Ik ben niet bekend met codeigniter. Maar ik vermoed dat je de cronjob dan op die manier aan kan maken inderdaad. Het blijft een php framework die je met het interne php commando dus uit moet kunnen voeren.
-
25-12-2014, 09:37 #564BitsWebhosting.EU
- Berichten
- 2.092
- Lid sinds
- 17 Jaar
Re: Cronjob issue
De parameters als je een page aanroept via wget staan wel ergens anders dan wanneer je dat via een cron doet zonder wget. Dus het zal wellicht niet gaan werken.
Wat misschien handiger is: Laat de wget regel gewoon staan in je cronjob (zodat je dus alsnog de url aanroept), maar geef een username/password mee als parameter, bv:
/usr/bin/wget http://www.jedomein.nl/index.php/cron --user=jan --password=bladiebla
-
25-12-2014, 14:31 #6Particulier
- Berichten
- 20
- Lid sinds
- 12 Jaar
Re: Cronjob issue
Hey John,
Heel raar want ook dit werkt dus niet...
''user'' en ''password'' moeten dan de fields zijn die vereist zijn om eerst in te loggen?
groet,
Aron
-
25-12-2014, 14:49 #764BitsWebhosting.EU
- Berichten
- 2.092
- Lid sinds
- 17 Jaar
Re: Cronjob issue
Dat zouden inderdaad de username/password moeten zijn die je via de .htaccess gebruikt. Maar ik zie in je .htaccess (die je hierboven gepost hebt) ook niks van autorisatie (op de .htaccess manier) staan, dus wellicht werkt het zo iig niet.
Je zou eens even kunnen spelen met die eerste oplossing op: http://stackoverflow.com/questions/1324421/how-to-get-past-the-login-page-with-wget
Vraag me trouwens wel af waarom iemand een cronjob met een login bouwt...
-
26-12-2014, 10:23 #8Particulier
- Berichten
- 20
- Lid sinds
- 12 Jaar
Re: Cronjob issue
Hey allemaal,
Heb de oplossing!
Mocht je hier tegenaan lopen kun je het volgende on de Rewrite On regel plakken:
RewriteCond %{HTTP_USER_AGENT} UserAgent-YOURSECRETTOKEN
RewriteRule ^(.*)$ - [L]
Vervang yoursecrettoken met een custom token ;)
Voeg dan "UserAgent-YOURSECRETTOKEN" toe aan je cronjob en it works ;)
Bedankt allemaal!
Groet,
Aron
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic