小编Sho*_*hoe的帖子

Eval(),有什么意义?

关于eval()功能的官方文档说:

除此之外,这对于将代码存储在数据库文本字段中以供稍后执行非常有用.

我对此非常困惑.PHP文档是否建议将PHP行存储到数据库中?什么?这不是一件令人不安的事吗?

如果我知道在数据库中有一个以PHP形式执行的字符串怎么办?这不是非常危险吗?我只需要一个Sql注入来做任何我想要的网站,无论我想要什么.我可以删除整个数据库,我可以从脚本中获取所有内容,我可以做任何事情.

这怎么会这么有用?

你能否提供一些关于如何eval()有用的例子?此外,我可能错过了一些东西,为什么我看到一些代码,如:

eval("if (is_int($int)) { return false }");
Run Code Online (Sandbox Code Playgroud)

而不仅仅是

if (is_int($int)) { return false }
Run Code Online (Sandbox Code Playgroud)

但是,正如我所说,我可能错过了一些东西:什么?

php eval

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

T_INLINE_HTML?这有什么问题?

<? switch($data['type']) : ?>
<? case 'log': ?>

    <? while ($row = $data['loop']->fetch()) : ?>
        <table class="t-errors">
            <tr>
                <td>
                    <b>IP:</b> <? echo $row['LogShellIP']; ?>
                    <b>Command:</b> <? echo $row['LogShellCommand']; ?>
                    <b>Executed:</b> <? echo $row['LogShellReturn']; ?>
                    <b>Time:</b> <? echo format::time($row['LogShellTime']); ?>
                </td>
            </tr>
        </table>
    <? endwhile; ?>

<? break; ?>

<? case 'fatal': ?>
<? case 'warning': ?>
<? case 'notice': ?>
<? case 'unknown': ?>

    <? while ($row = $data['loop']->fetch()) : ?>
        <table class="t-errors">
            <tr>
                <td <? if ($row['LogErrorSeen'] == 0) …
Run Code Online (Sandbox Code Playgroud)

html php switch-statement

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

Jquery ajax编码数据

我有这个代码(下面)..

$.ajax
({
    type: "POST",
    url: "../WebServices/Feedback.svc/sendfeedback",
    dataType: 'json',
    async: false,
    data: '{"stars": "' + stars + '", "rating" : "' + rating + '", "note" : "' + encodeURIComponent(note) + '", "code" : "' + code + '", "permission" : "' + permission + '"}',
    contentType: "application/json; charset=utf-8"
});
Run Code Online (Sandbox Code Playgroud)

我正在使用它将数据传递给Web服务,但问题是如果有任何字符在这里(,/?:@&= + $#).我已经放入了一个工作正常的encodeURIComponent,然后在Web服务中我再次将它们放回去.

我问的是,是否有更好的方法来实现这一目标?似乎有点疯狂,每次传递它之前我必须编码字符串..

谢谢

ajax jquery uri character-encoding

6
推荐指数
2
解决办法
4万
查看次数

在迁移中指定app依赖项

我正在尝试在Django 1.7中添加初始数据,并且我已经读过建议使用数据迁移.

我已正确创建了我的迁移文件,称为"0001_groups",我在其中创建了少量contrib.auth的组和权限.

问题是它在auth迁移运行之前运行.

我去了解应用程序最后一次迁移auth的名称,并且它被称为0005_alter_user_last_login_null.py.所以我试过:

dependencies = [
    ('auth', '0005_alter_user_last_login_null'),
]
Run Code Online (Sandbox Code Playgroud)

但我得到:

KeyError:u"迁移appname.0001_groups依赖项引用不存在的父节点('auth','0005_alter_user_last_login_null')"

我用谷歌搜索了这个错误,它总是链接到11个月的Django修复错误.

如何正确指定auth应用依赖?

python django django-migrations

6
推荐指数
2
解决办法
6416
查看次数

浏览器说flex-basis:内容是"无效的属性值"

鉴于:

.layout {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
}

.layout aside,
.layout main {
  min-width: 100px;
}

.layout aside {
  flex: 0 0 content;
  background-color: red;
}

.layout main {
  flex: 1 1 content;
  background-color: green;
}
Run Code Online (Sandbox Code Playgroud)
<div class="layout">
  <aside>
    <p>Line 1</p>
  </aside>
  <main>
    <p>Line 1</p>
    <p>Line 2</p>
    <p>Line 3</p>
  </main>
</div>
Run Code Online (Sandbox Code Playgroud)

Live example

我的意图是:

  • 旁边应该与它包含的内容一样大,永远不要改变它的宽度
  • 主要应该采取其余的水平空间
  • 一边和另一边应该有相同的高度(两者中的最大值)

但如果我运行该代码并使用Chrome检查它,我会在两个flex:语句中收到以下错误:

无效的属性值

此外,绿色框不会像它应该的那样在右侧扩展.我的Chrome版本在Mac OS X 10.11.5上为56.0.2924.87(64位).

我究竟做错了什么?

html css html5 css3 flexbox

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

PHP自定义错误页面

每个人都说在活动站点中"显示启用错误"是不好的(由于某些安全问题).

现在,我们要考虑2个案例:

  1. 该站点处于调试模式
  2. 该站点未处于调试模式

现在,对于案例#1:

我们希望看到错误.怎么样?

ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
Run Code Online (Sandbox Code Playgroud)

没有比这更简单的了.我们还可以为除Parse和Fatal之外的所有错误定制错误处理程序.

相反,如果案例是#2:

我们希望能够停用消息:

ini_set('error_reporting', 0);
ini_set('display_errors', 0);
Run Code Online (Sandbox Code Playgroud)

没关系.但是如何向用户展示一个友好的信息,比如"嘿嘿,有些东西真的很有用.我不保证你我们正在努力修复它,因为我们非常懒惰." 您应该再次启用错误并只使用该函数,set_error_handler()并希望不会发生解析或致命错误.但我的第一个问题是:

问题1:是否可以避免错误报告并在出现问题时加载自定义脱机页面?我的意思是,是有可能有ini_set('error_reporting', 0);ini_set('display_errors', 0);,仍然能够告诉PHP加载自定义错误页?

现在另一个:

问题2:我开发了一个类,它具有set_error_handler()日志错误的功能,发生在数据库中.通过这种方式,我可以跟踪黑客企图和其他很酷的东西.(是的,我总是确定数据库是可访问的,因为如果我们无法连接到数据库,我的应用程序将关闭).这值得吗?

php error-handling

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

PHP的WordPress的密码更改-注销我!

我正在尝试构建自己的简单的wordpress密码更改脚本(嗯,实际上是基于插件)-密码已成功更改-但更改完成后却注销了我!下面是使用的代码。谁能看到我被注销的地方以及如何防止它退出?谢谢!

$update = $wpdb->query($wpdb->prepare("UPDATE {$wpdb->users} SET `user_pass` = %s WHERE `ID` = %d",array(wp_hash_password($_POST['admin_pass1']),$user_ID)));

if(!is_wp_error($update))
{
    wp_cache_delete($user_ID,'users');
    wp_cache_delete($user->user_login,'userlogins');
    wp_logout();
    if (wp_signon(array('user_login'=>$user->user_login,'user_password'=>$_POST['admin_pass1']),false)):
        wp_redirect(admin_url());
    endif;
    ob_start();
}
Run Code Online (Sandbox Code Playgroud)

php wordpress

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

如何将double值转换为时间?C#/ ASP.NET

如何将double价值转换为时间?例如,我有这个doubleval = 0.00295692867015203,我想返回4:15.

我做了很多研究,没有找到有效的解决方案!这是我尝试过的一个函数,但它返回00:00:00:

ConvertFromDecimalToDDHHMM(Convert.ToDecimal(val));

public string ConvertFromDecimalToDDHHMM(decimal dHours) {
    try {
        decimal hours = Math.Floor(dHours); //take integral part
        decimal minutes = (dHours - hours) * 60.0M; //multiply fractional part with 60
        int D = (int)Math.Floor(dHours / 24);
        int H = (int)Math.Floor(hours - (D * 24));
        int M = (int)Math.Floor(minutes);
        //int S = (int)Math.Floor(seconds);   //add if you want seconds
        string timeFormat = String.Format("{0:00}:{1:00}:{2:00}", D, H, M);

        return timeFormat;
    }
    catch …
Run Code Online (Sandbox Code Playgroud)

c#

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

只执行一次foreach循环

正如我们所知,foreach循环将执行直到条件不会变为false.我只想执行一次.

$i=0;
foreach($html->find('img') as $element) 
{    

       if($i!=0)  
          break;
       $logo= $element->src . '<br>';
       $i++;
}
Run Code Online (Sandbox Code Playgroud)

还有其他解决方案吗?喜欢foronce代替foreach

php foreach

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

使用CryptoAPI使用不可导出的私钥解密

我在windows密钥库中创建了RSA密钥对.

我成功加密了数据(对称密钥):

HCERTSTORE hstore = ::CertOpenSystemStore(NULL, L"TestStore");
PCCERT_CONTEXT pctxt = ::CertFindCertificateInStore(hstore, X509_ASN_ENCODING, NULL, 

CERT_FIND_SUBJECT_STR, L"My Test Keys", NULL);

HCRYPTPROV hprovider = NULL;
if(!::CryptAcquireContext(&hprovider,
            NULL,
            MS_ENHANCED_PROV,
            PROV_RSA_FULL,
                    NULL/*CRYPT_NEWKEYSET*/))
{
   DWORD err = ::GetLastError();
   return 0;
}

HCRYPTKEY hkey = NULL;
if(!::CryptImportPublicKeyInfo(hprovider, 
                X509_ASN_ENCODING,
                &pctxt->pCertInfo->SubjectPublicKeyInfo,
                &hkey
                ))
{
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

现在我使用CryptEncrypt()和HCRYPTKEY.


接下来我想用私钥解密数据,但它不可导出.我见过的所有例子都包括导入密钥.

如何在不导出密钥的情况下解密数据?

c++ encryption keystore cryptoapi

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