小编One*_*erd的帖子

在PHP中保护文件上传的好方法

编写一个小应用程序(其中包括)允许用户上传文件(如图像,.doc或文本文件)作为其发布/提交的一部分.

我们当前的原型只是将文件转储到/ {app_root}/files /,但当然,即使他们没有登录或使用系统,任何人都可以使用它.目标是仅在用户登录时授予对文件的访问权限(查看访问权限),并且实际上可以访问该文件所属的帖子.

所以,简而言之,我正在寻找一个很好的方法来做到这一点.

我想在/ web /(http)文件夹之外创建一个文件夹然后让PHP使用header() commans 以某种方式呈现它,或者,可能只是将文件转储到数据库中?但是,我从未做过任何一个.

虽然我怀疑我最终可以弄明白,但是这里有太多聪明人,我想知道有人会知道某种现有的类或函数库已经这样做了吗?

php security upload file-upload file

2
推荐指数
1
解决办法
1339
查看次数

抑制或catch()无效的函数调用 - PHP

有一系列我动态调用的函数是这样的:

$function = 'someFunction';
$x = $function();
Run Code Online (Sandbox Code Playgroud)

..但是,如果函数需要参数,并且我不在调用中对其进行编码,我似乎会崩溃页面.例如:

function someFunction( $in_param1 ) {
  return "SUCCESS";
}

$function = 'someFunction';
// this next line does not work
$x = $function() or die("error");
Run Code Online (Sandbox Code Playgroud)

我该如何处理这种错误?

谢谢 -

php

1
推荐指数
1
解决办法
435
查看次数

PHP正则表达式问题

我在网络文档中有一系列网址,如下所示:

<a href="somepage.php?x=some_document.htm">click here</a>
Run Code Online (Sandbox Code Playgroud)

我想要做的是替换粗体:

<a href="somepage.php?x= some_document.htm ">点击此处</a>

..使用某种加密变体(让我们说一下base64_encoding)..这样的事情:

对于每个匹配,将其转换为base64_encode(匹配)

笔记:

1.短语href ="somepage.php?x =将始终位于短语之前
.2.a double-quote(")将始终跟随短语.

我不是一个正则表达的大师 - 但我知道你们中的一些人.有什么简单的方法吗?

更新:

我通过使用Chris提交的修改版本解决了这个问题,这里是:

function encrypt_param( $in_matches ) {    
  return   'href="somepage.php?x=' . base64_encode( $in_matches[1] ) . '"';
}

$webdoc = preg_replace_callback( '/href="somepage.php\?x=([^"]+)"/',
                                 'encrypt_param', 
                                 $webdoc );
Run Code Online (Sandbox Code Playgroud)

php regex

1
推荐指数
1
解决办法
174
查看次数

上传合并的图像,然后用PHP分解

寻找一种方法来让某人上传单个文件,这个文件将是一系列图像文件(所有gif)合并为一个大文件.这是我需要做的:

  1. 使用VB6,想要将图像文件(可能是几十个)合并到一个文件中
  2. 将文件上传到PHP脚本(很简单)
  3. 让PHP拆分单个文件并写入图像文件

我知道如何处理文件的上传.我也知道如何用PHP编写图像文件.我不确定的是合并/不合并操作.

从理论上讲,我应该能够使用VB6使用二进制读/写来合并所有图像.但是,有没有人知道为每个.gif文件添加前缀的二进制代码系列,以便PHP可以接受,或者我是否需要在每个合并图像之间编写某种二进制分隔符?

我当然可以自己修补一下,但我认为你们中的一些人比我更聪明,可能已经做过这个,和/或可以提供一个链接,一些代码或一些"要考虑的事情".

谢谢.

php vb6

0
推荐指数
1
解决办法
318
查看次数

404错误页面〜重定向图像 - PHP

我在PHP应用程序中使用自定义404页面.

在该404页面上,我检查某些不再存在的"已知"旧页面,然后将用户重定向到更新或最相关的当前页面.效果很好.

现在我面临一系列已被删除的旧图像,并且正在寻找一种将图像重定向到新图像的方法(如果可能的话,在PHP代码内部).

我曾短暂地追捕并空出来.

有什么办法吗?

以下是我的代码示例:

<?php
    //-- grab info regarding bad request --
    $root       = $_SERVER['DOCUMENT_ROOT'];
    $page       = parse_url($_SERVER['REQUEST_URI']);
    $page       = $page['path'];
    $referer        = $_SERVER['HTTP_REFERER'];
    $host       = $_SERVER['REMOTE_HOST'];

    //-- try to redirect old pages/files ----------------------
    //
    $page = urlencode($page);

    if ( stristr($page, "some_old_file.zip") ) {
        // Example file redirect
        echo    "<META HTTP-EQUIV=\"refresh\" CONTENT=\"0;URL=http://www.site.com/the/new/file.zip\">";

    } elseif ( stristr($page, "some_old_page.php") ) {  
        // example webpage redirect
        echo    "<META HTTP-EQUIV=\"refresh\" CONTENT=\"0;URL=http://www.site.com/the/new/page.php\">";

    } elseif ( stristr($page, "some_old_image.jpg") ) {
        // not …
Run Code Online (Sandbox Code Playgroud)

php apache redirect

0
推荐指数
1
解决办法
2673
查看次数

消除Excel文档的缓存

我有一个PHP脚本,它只需要一些数据,将它分成制表符分隔格式,将其保存为.xls文件,然后为用户提供下载它的链接.

在大多数情况下运行良好,但有些人正在获取导出的.xls文件的缓存版本.

我想我需要做的不是给用户直接链接到.xls文档,给他们一个PHP页面的链接:

deliver_excel_doc.php?文件= some_excel_file.xls&

然后deliver_excel_doc.php从excel文档中提取数据但是使用标题执行某些操作,因此excel doc不会被缓存,然后输出为xls,因此文件将被下载(或在excel中呈现).

关于我如何做到这一点的任何想法(这个概念是否可行)?

php excel caching

0
推荐指数
1
解决办法
1606
查看次数

jQuery动画队列

我处于死胡同,所以希望jQuery大师可以提供帮助.

我在页面上总共有10个元素(实际上是小图像).我需要像这样动画它们:

  1. 前2出现
  2. 然后接下来的2出现
  3. 然后接下来的3个出现
  4. 然后下一个出现
  5. 然后最后2出现了

所以,我已经为每一个添加了属性(sequence_num ="1"(或2或3等),因此我可以通过$()使用animate()函数轻松选择哪些动画.)

我的目标是编写一个执行动画的函数(我可以这样做 - 我想我已经掌握了animate()函数).

我所坚持的是如何延迟动画,以便在下一组开始之前对适当的对象组进行动画处理.我已经尝试了animate()函数的queue参数,但这似乎不适用于我想要做的事情.

有人对这个有经验么?

queue jquery animation effects

0
推荐指数
1
解决办法
1639
查看次数

标签 统计

php ×6

animation ×1

apache ×1

caching ×1

effects ×1

excel ×1

file ×1

file-upload ×1

jquery ×1

queue ×1

redirect ×1

regex ×1

security ×1

upload ×1

vb6 ×1