Friday, January 10, 2014

DNN Edit Page and Menu Not Working

 

After upgrading to DNN 7.2.0 the Edit Page button and the Admin Menu did not work. A quick check with Fiddler discovered that the JQuery scripts did not load

  • .../resources/libraries/jquery/1.9.1/jquery.js?cdv=236
  • .../resources/libraries/jquery-ui/1.10.3/jquery-ui.js?cdv=236
  • .../resources/libraries/jquery-migrate/1.2.1/jquery-migrate.js?cdv=236

Checked the existence of the files in the DNN Web directory on the IIS Server, all files were present.

The next check was the IIS log files, and here the solution was discovered:

GET /Rejected-By-UrlScan ~/resources/libraries/jquery-ui/1.10.3/jquery-ui.js?cdv=236

The IIS UrlScan rejected all paths that included a ‘dot’ in the pathname.

Note: The UrlScan.ini should be updated with caution, in this case the solution was to set AllowDotInPath=1  and to make sure that the double dots, dot slash and dot backslash also was rejected. By enabling dots in path names the PATH_INFO variable can be interpreted wrong. The rule of thumb is that if AllowDotInPath=1 is set, then rules based on the file extension may do unexpected things, including allowing requests that you intend to block .

Consider the url libraries/jquery/1.9.1/jquery.js

This can be converted into file = 1.9.1 parameter is /jquery.js

Or Download/Files.new/test.doc

Can be translated to

Get files.new with parameter test.doc

For versioning paths I always use hyphen or underscore