小编MrC*_*ode的帖子

AJAX:单页应用程序结构/安全性

我正在使用AJAX开发Web /移动应用程序.该应用程序有4个页面:登录的一个和3个受保护的页面仅显示给登录的用户.

我打算使用单页应用程序模式,因此将立即加载所有4个页面,每个页面都在其自己的DIV ID中,并且最初只能看到登录页面.

一旦用户输入他的用户/通行证,我就创建了一个XMLHttpRequest并与内部PHP脚本进行通信,后者又使用预准备语句来检查数据库中是否存在用户/通道,并向XMLHttpRequest返回true或false.

如果结果为true,那么我将使受保护的DIV可见并从服务器加载必要的数据,创建另一个XMLHttpRequest并通过另一个PHP脚本与数据库连接.当用户在其他受保护页面之间导航时,重复此步骤.我还计划使用XMLHttpRequest /内部PHP脚本实现cookie以保持用户登录.

下面是描述该过程的图像.

问题:

  • 这个结构看起来不错吗?可能出现的任何问题我都没预见到?
  • 结构安全吗?我可以用任何方法进一步强化它吗?

在此输入图像描述

javascript php security ajax xmlhttprequest

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

是否可以从HTML5的本地存储中提取数据并保存到服务器数据库?

我有一个社交网络应用程序的想法,部分想法是将数据从localstorage提取到服务器数据库.这样做的原因是你有一个想法,你想把它放在你的社交应用程序的下一个状态,但你没有任何信号和无线.您在应用程序上写下状态,并将其保存到本地存储区,以便在他们返回可以在线连接手机的地方时使用.

然后他们到达一个他们可以上网的地方,应用程序然后检测到localstorage中有一个更改,然后从那里拉出它并保存到服务器数据库.

这是否可能,如果是这样,您将如何实施它?如果不可能的话,你认为这可能是将来的某个时候吗?

我期待听到您对此问题的评论和回答,因为我认为这可能是一次非常大的讨论.

javascript php mysql html5 local-storage

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

通过DOMDocument提取表的特定行

如何HTML使用DOMDocumentin 从文件中提取信息PHP

我的HTML页面里面有这个部分的来源

这是我需要处理的页面中的第三个表:

 <table>
 <tbody>
 <tr>
   <td>A</td>
   <td>B</td>
   <td>C</td>
   <td>D</td>
</tr>
<tr>
  <td>1</td>
  <td>2</td>
  <td>3</td>
  <td>4</td>
</tr>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

如果我的用法要求我用B和D显示行,我应该如何提取该表的第一行并使用DOMDocument打印它?

php html-parsing domdocument

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

在jQuery中的多选下拉列表焦点上检查数组中是否存在值

我有一个默认数组,其中有一些固定值,我从中向用户显示多选下拉菜单.因此,在下拉列表的焦点上,我想检查是否选择了值是否具有默认数组中的所有值.如果缺少值,我想向用户发出警报

HTML

<form action="#" method="post">
    <fieldset>
        <label for="selectedItemLists">Select values:</label>
        <select id="selectedItemLists" name="selectedItemLists" multiple>
            <option val="value1" selected >value1</option>
            <option val="value2">value2</option>
            <option val="value3" selected>value3</option>
            <option val="value4">value4</option>
            <option val="value5">value5</option>
        </select>
    </fieldset>
    <fieldset>
        <input type="submit" value="submit" />
    </fieldset>
</form>
Run Code Online (Sandbox Code Playgroud)

jQuery的

var default_values = ["value1","value3"];

$("#selectedItemLists").live('focusout',function(){
    var new_selectedvalues = $("#selectedItemLists").val();

    //here i want to compare both the arrays and alert him that default values are missing
});
Run Code Online (Sandbox Code Playgroud)

javascript jquery multi-select

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

addslashes()是否可以安全地阻止HTML属性中的XSS?

我不得不处理以前开发人员离开的旧网络应用程序.它使用addslashes()来防止HTTML属性上的XSS.

这是一个例子:

<?php
  // all $_POST vars are put through addslashes()

  echo "<input type='hidden' value='" . $_POST['id'] . "' />";
?>
Run Code Online (Sandbox Code Playgroud)

这容易受到XSS的攻击吗?有没有什么方法可以在一个值属性中运行javascript,就像在src属性中一样,例如,src ='javascript:alert(99)'.或者可以打破value属性然后插入脚本标记?

编辑:感谢Quentin,我相信它很脆弱.

javascript php security xss

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

如何使用具有相同名称的多个表单输入?

我有一个从表单中的循环创建的复选框(我不知道它们的数量).

<form>
<input type="checkbox" name="id" value="id">
<input type="checkbox" name="id" value="id">
...//create in a loop
<input type="checkbox" name="id" value="id">
</form>
Run Code Online (Sandbox Code Playgroud)

我的问题是我如何阅读它们,如果我使用<?php $_REQUEST['id']; ?>它,它只读取最后一个复选框.

html php forms html-input query-string

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

浏览器如何处理HTML元素上的无效/未指定属性?

对于考试,如果我有这个:

<div id="blah" myattribute="something">whatever</div>
Run Code Online (Sandbox Code Playgroud)

我可以安全,没有浏览器会忽略(从而使旧版JavaScript无法访问)myattribute吗?我知道这很丑陋而且不标准,但非常有用.或者,如果他们这样做,jQuery仍然能够得到它们吗?

html javascript jquery web

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

PHP CURL响应中的问号

我想使用一个API网站,我有这个代码:

$ch=curl_init('http://example.com/?api=**');
$options = array(
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => array('text/plain;charset=UTF-8') ,
);

curl_setopt_array( $ch, $options );
$results=curl_exec($ch);
var_dump($results);
Run Code Online (Sandbox Code Playgroud)

但我看到?的,而不是像一些字符,».我检查了源页面和charset是utf-8 ..有什么问题?

php encoding curl character-encoding

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

jquery中".on"函数出错

我有以下html文件:

<div id="tour">
 <h2>Paris, France Tour</h2>
 <p>$2,499 for 7 Nights</p>
 <button>See photos from our last tour</button>
 <ul class="photos">
   <li>
   <img src="/assets/photos/paris1.jpg">
   <span>Arc de Triomphe</span>
   </li>
   <li>
  <img src="/assets/photos/paris2.jpg">
  <span>The Eiffel Tower</span>
  </li>
  <li>
  <img src="/assets/photos/paris3.jpg">
  <span>Notre Dame de Paris</span>
  </li>
 </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

这是我的jQuery代码:

function showPhotos()
{
    $(this).find("span").slideToggle();
}

$(document).ready(function() { 
    $("#tour").on("click", "button", function() { 
        $(".photos").slideToggle();
    });

    $(".photos").on("mouseenter", "li", showPhotos);
    $('.photos').on("mouseleave", "li", showPhotos);
});
Run Code Online (Sandbox Code Playgroud)

此代码有效,它显示鼠标进入img元素时的跨度.但是,当我尝试做同样的事情时:

function showPhotos()
{
    $(this).find("span").slideToggle();
}

$(document).ready(function() { 
    $("#tour").on("click", "button", function() { 
        $(".photos").slideToggle();
    });
    $(".photos").on("mouseenter", "li", function() …
Run Code Online (Sandbox Code Playgroud)

javascript jquery

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

行计数没有错误,但结果错误

$rowcount = 'SELECT COUNT(1) FROM (select * from isk.edi_site where postal_code = 123456)';
$stmt= oci_parse($conn, $rowcount);
oci_execute($stmt);
$num_row = oci_fetch_assoc($stmt);
$num = count($num_row, COUNT_RECURSIVE);
echo $num;
Run Code Online (Sandbox Code Playgroud)

它计数并返回数字"1".当我在Oracle SQL开发人员中使用相同的SQL查询时,它会超过4000+计数.我的错误在哪里?列数效果很好..

php oracle

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