【问题标题】:Secure dynamic images. PHP保护动态图像。 PHP
【发布时间】:2015-04-09 19:29:00
【问题描述】:

我制作了一个 php 脚本来创建几个动态图像之一,用作我网页上元素的背景。 我的问题不是编码问题,到目前为止,代码运行良好。

我的问题是关于使用 GET 将数据传递到 bg.php 的实现和可能的安全问题。 现在图片的scr是这样的

../bg.php?t=1&w=200&h=200

在哪里
$t 是形状的类型。 (多边形坐标数组)
$w 是图像的宽度
$h 是图片的高度

此功能是否使用 GET 安全,或者是否有更好/更安全的 将变量传递给 bg.php 的方式?

bg.php每页会被调用多次,会在<img src="bg.php"><style>bg.php</style><script>bg.php</script>中使用

【问题讨论】:

  • 绝对缓存该输出
  • 缓存图片会限制服务器负载吗?如果再次调用具有相同 t、w 和 ,h 的图像,服务器将不必创建它?如果是这样,我可以取消图像吗?我还有将存储在 cookie 中的颜色和 alpha 变量,因为所有元素都是相同的颜色。颜色由用户控制,因此仅在用户更改配色方案时才需要完成。
  • 这不是值如何传递的问题,而是你如何处理这些值的问题。那么你如何处理脚本中传递的值?

标签: php security dynamic get


【解决方案1】:

恶意的人可能会渲染任何大小的图像,假设您不检查这一点,有人可能会耗尽您服务器上的所有内存/存储空间。

【讨论】:

  • 我将添加一个检查以限制图像的大小。谢谢
【解决方案2】:

对于此功能是否使用 GET 安全,或者是否有更好/更安全的方式将变量传递给 bg.php?

无论用户输入如何在你的 PHP 脚本中结束(GETPOSTSERVER,来自文件、来自数据库、完全来自其他地方),重要的是你做什么用它。

如果您希望我们告诉您它是否安全,您需要在此处发布您的脚本(除了 andy 提到的 DOS 可能性)。我可以想象你做了类似<img src="bg.php?t=[userinput]&w=[userinput]"> 的事情,例如这不安全。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-19
    • 1970-01-01
    • 1970-01-01
    • 2015-08-15
    • 2019-03-08
    • 2015-01-12
    相关资源
    最近更新 更多