What does Canonical Representation mean and its potential vulnerability to websites

前端 未结 4 1833
予麋鹿
予麋鹿 2021-01-12 03:05

I searched on google for a meaning of canonical representation and turned up documents that are entirely too cryptic. Can anyone provide a quick explanation of canonical rep

4条回答
  •  一生所求
    2021-01-12 03:10

    Canonicalisation is the process by which you take an input, such as a file name, or a string, and turn it into a standard representation.

    For example if your web application only allows access to files under C:\websites\mydomain then typically any input referring to filenames is canonicalised to be a physical, direct path, rather than one which uses relative paths. If you wanted to open C:\websites\mydomain\example\example.txt one input into that function may be example\example.txt. It's hard to work out if this goes outside the boundaries of your web site, so the canonicalisation function would look at the application directory and change that relative path into a physical one, C:\websites\mydomain\example\example.txt. This is obviously easier to check as you simply do a string compare on the start of the file path.

    For HTML inputs you take inputs like %20 and canonicalise them by unencoding, so this would turn into a space. This is a good idea as the number of different ways of encoding are numerous, canonicalisation means you would check the decoded string only, rather than try to cover all the encoding variations.

    Basically you are taking input which is logically equivalent and converting them to a standard form which you can then act upon.

提交回复
热议问题