Cakephp Account Activation Email - Address Not Found On Server - email

For our website, we set up the account activation email with the following tutorial (in cakephp):
http://www.jonnyreeves.co.uk/2008/06/cakephp-activating-user-account-via-email/
On our live site, it seems that the activation works for the most part, however some people are receiving the following error when clicking on the activation email link to activate their account:
Error: The requested address '/users/activate/36/10a1a794' was not found on this server.
This is odd to me because the link looks fine: "users" controller, "activate" action, user_id = 36, and hash code = 0a1a794. Not sure why this error is happening. One thing I read is to clear the files in the cache folder and that didn't seem to change anything. Please help thanks!

The activation hash has limited validity(same day).
So if send the activation email on 1st of any month, it will be valid till 11:59pm of 1st. The link wont work after 12:00am(technically 2nd of the month).
Hope that helps.

Yes, that's what Josh R said, the hash is computed for the same day and this is a VERY bad idea.
You should either stop hashing the date or validate against two values: one for today's date, one for yesterday's date.
Also, a recommendation: don't just go there and copy the files, try to learn something from it and please, do it your way. You'll learn a lot more.

Related

How do I reduce the number of 301 redirect entries using wildcards and variables in Squarespace?

I recently renamed all of the URLs that make up my blog... and have written redirects for almost every page... using wildcards where I can... keeping in mind... all that I know is the * wildcard at this time...
Here is an example of what I have...
/season-1/2017/1/1/snl-s01e01-host-george-carlin -> /season-1/snl-s01e01-george-carlin 301
I want to write a catch-all that will redirect all 38 seasons of reviews with one redirect entry... but I can't figure out how to get rid of just the word "host" between s01e01- and -george-carlin... and was thinking it would work something like this...
/season-*/*/*/*/snl-s*e*-host-*-* -> /season-*/snl-s*e*[code to remove the word "host"]-*-* 301
Is that even close to being correct? Do I need that many *s
Thanks in advance for any help...
Unfortunately, you won't be able to reduce the number of individual redirect entries using the redirect features that Squarespace has to offer, namely the wildcard (*) and a single variable ([name]). Multiple variables would be needed, but only [name] is supported.
The closest you can get is:
/season-1/*/*/*/snl-s01e01-host-[name] -> /season-1/snl-s01e01-[name] 301
But, if I'm understanding things, while the above redirect appears more general, it would still need to be copy/pasted for each post individually. So although it demonstrates the best that could be achieved, it is not a technical improvement.
Therefore, there are only two alternatives:
Create a Google Sheet (or other spreadsheet) where the old URLs are copy/pasted in column one, a formula using arrayformula and regular expressions to parse the old URL and generate the new URL is added in column two, and in column three a formula is written to join the two cells with -> and 301. With that done, you could click, drag and highlight all cells in column 3, copy, and paste them in the "URL Shortcuts" text area in Squarespace.It can be quite time consuming to figure out, write and test the correct formula, but it does avoid having to manually type out every redirect. Whether it is less time/effort in total depends on the number of redirects and one's proficiency with writing spreadsheet formulas.It could be that using the redirect code above would simplify the formula that'd need to be written in the spreadsheet, which may save some time.
Another alternative would be to remove your redirects and instead handle the redirect via JavaScript added to the 404/Page-not-found page. Because it sounds like you already have all of the redirects in place but are simply trying to reduce the overall number, I wouldn't recommend changing to a JavaScript-based approach. There are other drawbacks to using JavaScript, in any case.

Registration form phpmailer and e-mail length

First of all i'd like to apologise for my english. I am student from Poland and i don't know php but i need something from code. http://pastebin.com/x0vUhj8V
I have encoutered a problem. On my website i can't register with mail which is shorther than (i miss word but here is example) - asd#wp.pl, asd#op.pl, asd#vp.pl
it also concern the part which is before "#" mark (asd) and after (wp.pl, op.pl, vp.pl) -3characters is minimum what is accepted for example asd#asd.pl.
I think somewhere in the code is declareted minimum length of e-mail or something, but with my "knowledge" od PHP I can't figure out which part... If someone could explain me what should i change i would be gratefull. Please help
Edit: My fault, here is code http://pastebin.com/dhGgZkPB that is used to call phpMailer.
Your English is just fine!
That version of PHPMailer is really old, over 10 years out of date. Get the latest from here. Beyond that you have not posted the code you're using to call PHPMailer so we can't say what you're doing wrong - if you need somewhere to start, look at the documentation examples here.
There is no particular lower length limit on email messages or addresses (so long as they are valid) - you can quite reasonably send a message containing 'a' to someone at 'a#a.co'.

joomla chronoform saving data

I have a problem with chronoform.
I created my form and everything. but when people input data, sometimes it doesn't get saved, sometimes the data look strange (encrypted?), but when it's me trying the form, it always works!
here an example of the strange data:
REGISTRATION DATE 2011-02-24 - 08:24:14
NAME xjvcZiqVZOf
SURNAME mbYCUldaGCfE
CHARGE CDOWWXMGA
CARD FdaYQzKjvJRjDdHiN
PHONE fUCjEIKBOQgBdtRUcdS
EMAIL qwrelb#gzblvr.com
HOW DID YOU GET TO KNOW THE LABMOND? w2yCfW iuykmqzzrasu,[url=http://stxpmgksgwqu.com/]stxpmgksgwqu[/url], [link=http://qdchzokvtmyk.com/]qdchzokvtmyk[/link], http://fxbqxghstmyn.com/
LABMOND LEVEL 2° Livello
LOCAL OFFICE Campobasso
Any idea?
Turn on the built in captch or ReCaptcha, I bet these submissions are bots.

How do I create a manual link on a tree in Oracle APEX when Session State Protection is turned on?

Friends,
I'm facing another challenge in APEX and I hope you can help.
I have created a tree using the method described in John & Scott's superb book, "Pro Application Express" whereby the page link is stored in a table. Below is an example:
go to a page passing some parameters
f?p=&APP_ID.:3:&SESSION.::::P3_IDENTIFIER,P3_FAMILY_NAME:&P2_IDENTIFIER.,&P2_FAMILY_NAME.
When the page is run this works as expected. I can expand the tree and navigate to the page passing parameters if required.
However when I turned on session state protection these "hand crafted" links stopped working. Which I expected because the link contains no checksum.
After some investigation I see I have to use APEX_UTIL.PREPARE_URL to generate the URL with a checksum. Unfortunately this is where I run into problems. I can't seem to be able to pass the parameters values to the calling page.
The original tree query was:
select "IDENTIFIER" id,
"PARENT_IDENTIFIER" pid,
"TITLE" name,
"LINK" link,
null a1,
null a2
from <some table>
I then changed this to use APEX_UTIL.PREPARE_URL:
....
APEX_UTIL.PREPARE_URL('f?p='||:APP_ID||':3:'||:APP_SESSION||'::::P3_IDENTIFIER,P3_FAMILY_NAME:&P2_IDENTIFIER.,&P2_FAMILY_NAME.') link,
...
and this works, the page is called and I can see the values of the parameters passed. But I can't use this method as it is restricted to the one page!
Finally I tried storing the page number, parameters and parameter values in different columns of the table that the tree is based on and then bring them together:
...
APEX_UTIL.PREPARE_URL('f?p='||:APP_ID||':'||navigate_to_page||':'||:APP_SESSION||'::::'||parameters||':'||parameter_values) link,
...
Where:
navigate to page has the value of: 3
parameters has the value of: P3_IDENTIFIER,P3_FAMILY_NAME
parameter_values has the values of: &P2_IDENTIFIER.,&P2_FAMILY_NAME.
This now calls the page, but the parameter values have become literals. so where I'm expecting an identifier I see &P2_IDENTIFIER and ditto for family name.
What am I doing wrong? How can I pass values to my called page using apex_util_prepare_url?
In case of need, my environment details are: Apex 3.2.1, Oracle Application Server 10.1.2.3. Oracle Database 10.2.0.3
Thanks in advance for any help you may be able to provide.
I think you'll need to resolve those variables, using the v() function:
APEX_UTIL.PREPARE_URL('f?p='||:APP_ID
||':'||navigate_to_page
||':'||:APP_SESSION
||'::::'||parameters
||':'||v('P2_IDENTIFIER')||','||v('P2_FAMILY_NAME')) link,
On a side note, you might need to be careful about P2_FAMILY_NAME since it's being used in the url; it sounds like a plain text field which contains user-entered data?

How can I find out what triggered the TRACKER_ID rule in spamassassin?

I recently received an email from my girlfriend that spamassassin marked as spam, mostly because spamassassin detected a tracker ID... except there wasn't one. I'd like to know what triggered it, so that I can report a sensible bug.
How about looking at the rule in question? Google says this:
/^[a-z0-9]{6,24}[-_a-z0-9]{12,36}[a-z0-9]{6,24}\s*\z/is
...which in its current form will hit (some, depending on hyphenation) words
with 24 or more characters. So maybe someone who is familiar with tracker IDs
can adjust the regexp so that large words (say 30 characters?) won't get hit.
URL: https://issues.apache.org/SpamAssassin/show_bug.cgi?id=2307
That's 2005, so it might have changed.
FYI, you can see the TRACKER_ID rule as distributed in SpamAssassin 3.2.5 at http://cpansearch.perl.org/src/JMASON/Mail-SpamAssassin-3.2.5/rules/20_body_tests.cf