Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Design patterns 隐藏post输入,还是获取变量?_Design Patterns - Fatal编程技术网

Design patterns 隐藏post输入,还是获取变量?

Design patterns 隐藏post输入,还是获取变量?,design-patterns,Design Patterns,假设您正在制作一个博客应用程序,并且您正在尝试决定如何为特定帖子构建评论表单。你愿意吗 将blog\u post\u id作为评论表单中的隐藏表单字段,或者 将表单操作设置为post\u comment?blog\u post\u id=,然后从GET变量获取它 为什么? 我的2美分: 如果您将其放入POST,那么当您试图处理表单时,所有变量都位于一致的位置。但是,我发现通常blog\u post\u id无论如何都会出现在URL中,因此您会发送一点额外的不需要的数据(并且必须完成打印隐藏字段

假设您正在制作一个博客应用程序,并且您正在尝试决定如何为特定帖子构建评论表单。你愿意吗

  • blog\u post\u id
    作为评论表单中的隐藏表单字段,或者
  • 将表单操作设置为
    post\u comment?blog\u post\u id=
    ,然后从
    GET
    变量获取它 为什么?


    我的2美分:


    如果您将其放入POST,那么当您试图处理表单时,所有变量都位于一致的位置。但是,我发现通常
    blog\u post\u id
    无论如何都会出现在URL中,因此您会发送一点额外的不需要的数据(并且必须完成打印隐藏字段的工作)。

    我会选择第一个选项,这似乎更好。如果您使用第二个选项,即带有GET的选项,我允许用户篡改我的评论表单,这是不好的,如果您不注意,有时可能会造成安全问题。

    我将选择第一个选项,这似乎更好。如果您使用第二个选项,即带有GET的选项,我允许用户篡改我的评论表单,这是不好的,如果您不注意,有时会造成安全问题。

    从技术上讲,这两个选项之间并没有太大的区别。就我个人而言,我会选择隐藏的
    POST
    ,因为URL看起来更干净,而且您不必担心URL转义值
    *

    *
    对于数字id来说,这应该不是问题,但是哦


    重新编辑:

    然而,我发现无论怎样,
    blog\u post\u id
    通常都会出现在URL中

    这完全取决于你。如果你想把它放在那里,你可以把它放在那里,但你不需要

    …并且必须完成打印隐藏字段的工作

    再说一次,真的没有太大区别

    <form action="/post_comment?post_id=<?php echo $id; ?>">
    

    从技术上讲,这两个选项之间并没有太大区别。就我个人而言,我会选择隐藏的
    POST
    ,因为URL看起来更干净,而且您不必担心URL转义值
    *

    *
    对于数字id来说,这应该不是问题,但是哦


    重新编辑:

    然而,我发现无论怎样,
    blog\u post\u id
    通常都会出现在URL中

    这完全取决于你。如果你想把它放在那里,你可以把它放在那里,但你不需要

    …并且必须完成打印隐藏字段的工作

    再说一次,真的没有太大区别

    <form action="/post_comment?post_id=<?php echo $id; ?>">
    

    注释表单中的隐藏字段也可能被欺骗。就这个决定而言,“安全性”不是问题。同意Anon。无论您允许从用户端发送什么,实际上都可以由用户修改。这也是为什么DRM到目前为止还不起作用的原因…@Anon:我最初说“我会选择第一个似乎更好的选项。”隐藏方法比直接获取方式更好,但它也不完美,我从来没有说过,但因为我只有两个选项,所以我不得不选择一个选项。希望你能理解。你说“似乎更好”,但你没有提供任何有效的理由。如果你只是在无中生有地提出意见,那么就说你是在无中生有地提出意见,而不是试图用不正确的东西来证明它的合理性。评论表单中的隐藏字段也可能被欺骗。就这个决定而言,“安全性”不是问题。同意Anon。无论您允许从用户端发送什么,实际上都可以由用户修改。这也是为什么DRM到目前为止还不起作用的原因…@Anon:我最初说“我会选择第一个似乎更好的选项。”隐藏方法比直接获取方式更好,但它也不完美,我从来没有说过,但因为我只有两个选项,所以我不得不选择一个选项。希望你能理解。你说“似乎更好”,但你没有提供任何有效的理由。如果你只是在无中生有地提出一个意见,那么就说你是在无中生有地提出意见,而不是试图用不正确的东西来证明它的合理性。除了大多数时候它会出现在URL中之外,因为您通常希望重定向回该博客帖子,以便查看您的评论。@标记重定向回帖子并不意味着您必须在
    /post\u comment
    的URL中添加任何内容。嗯……不,不一定。我想你也可以把它塞进帖子里??但是当你想查看一个页面时,通常把它放在URL中是有意义的,不是吗?@Marc好的,是的,要查看一个页面(获取请求),你需要在URL中包含一些参数,除非你想将RESTfusion放在头上,并使每个页面都成为一个POST页面。至于你的问题,我更喜欢使用尽可能干净的URL。你征求意见,那是我的。你可以对这两种解决方案进行永恒的辩论,因为它们同样有效。如果你已经有了偏好,就去吧!:o) 除非大多数时候它都会出现在URL中,因为您通常希望重定向回该博客帖子,以便查看您的评论。@标记重定向回帖子并不意味着您必须在URL中添加任何内容以
    /post\u comment
    。嗯……不,不一定。我想你也可以把它塞进帖子里??但是当你想查看一个页面时,通常把它放在URL中是有意义的,不是吗?@Marc好的,是的,要查看一个页面(获取请求),你需要在URL中包含一些参数,除非你想将RESTfusion放在头上,并使每个页面都成为一个POST页面。至于你的问题,我更喜欢使用尽可能干净的URL。你征求意见,那是我的。你可以对这两种解决方案进行永恒的辩论,因为它们同样有效。如果你已经有了偏好,就去吧!:o)