douge7771 2014-07-30 09:50
浏览 62
已采纳

长度超过255个字符的URL导致在Laravel中禁止403 ???

I'm trying to create an endpoint out of a base64 string, but only end up with a 403 forbidden error when used. My first though is that there is a limit on how long a url can be?

EDIT

It seems after some exploration the MAX the string can be is 255 characters, after that it blows up??

Here is my Route setup

....
Route::get('/{glob}', 'GrantController@Init');
....

Here is my GrantController

Class GrantController Extends BaseController
{
    protected   $str  = null,
                $obj  = null;

    /**
     * Run the trap..
     *
     * @param $data
     * @return mixed
     */
    public function init($data)
    {
        return \View::make('debug.dump', [
                'data' => $data
        ]);
    }
}

And /Views/debug/dump.php

echo $data . '<br />';
echo 'Length: ' . strlen($data); // 255 MAX

展开全部

  • 写回答

1条回答 默认 最新

  • donglei3370 2014-07-30 13:31
    关注

    Just a precision on msturdy comment, the URI RFC explain the design of any uri:

    URI producers should use names that conform to the DNS syntax, even when use of DNS is not immediately apparent, and should limit these names to no more than 255 characters in length.

    RFC3986 - URI

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?