小编Jak*_*ake的帖子

关于Ajax Hacking的问题

所有,

我有一个用Zend Framework和MVC编写的PHP网站.大多数控制器操作检查请求是否是Ajax请求,否则他们将用户重定向到主页.我正在考虑打破该网站的各种方法.我正在考虑以下场景:

  1. 用户在其本地计算机上创建自己的PHP项目.
  2. 用户将JQuery ajax发布请求写入我网站上的某个控制器,并尝试发布恶意信息.例如:

    $.ajax({
        type: 'POST',
        url: "https://marketsite/getinfo/getstuff",
        cache: false,
        dataType: "html",
        success: function(html_response){
            alert(html_response);
        },
        error: function(xhr,ajaxOptions,errorThrown){
            alert(errorThrown);
        }
    });
    
    Run Code Online (Sandbox Code Playgroud)

我的问题是上面的ajax请求中的"url"属性是否采用绝对路径?我知道这需要相对路径.此外,是否可以通过发送此类请求来破坏任何网站?

谢谢

php security ajax zend-framework jquery-ui

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

Json_encode,json_decode和UTF8

所有,

我使用PHP向Web服务器发出JSON请求,它在变量中返回一个JSON响应.JSON响应将包含许多键和值.我从服务器获得的JSON响应中包含特殊字符.因此,我使用以下语句将其转换为UTF8,解码JSON并将其用作数组以显示到UI.

$response = json_decode(utf8_encode($jsonresponse));
Run Code Online (Sandbox Code Playgroud)

现在,我必须在JSON请求中将相同的值传递给服务器以执行某些操作.但是,当我通过

$jsonrequest = json_encode(utf8_encode($request));
Run Code Online (Sandbox Code Playgroud)

到服务器,它失败了.

以下代码成功读取特殊字符并将其显示到UI.但如果我必须将utf8_encode值传递给服务器,则会失败.

当前的整个往返代码如下:

$requestdata  = json_encode($request);
$jsonresponse = //Do something to get from server;
$response = json_decode(utf8_encode($jsonresponse));
Run Code Online (Sandbox Code Playgroud)

我怎样才能修改它,以便传递确切的值来表示我从服务器的json响应中收到的内容?

php json zend-framework

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

将XML转换为关联数组

有没有办法使用Zend Framework和PHP将XML转换为数组?我见过人们使用SimpleXML来做这件事,但我想知道是否有通过Zend Framework的方法.

示例XML,我想转换为数组将是:

<library>
    <book>
        <authorFirst>Mark</authorFirst>
        <authorLast>Twain</authorLast>
        <title>The Innocents Abroad</title>
    </book>
    <book>
        <authorFirst>Charles</authorFirst>
        <authorLast>Dickens</authorLast>
        <title>Oliver Twist</title>
    </book>
</library>
Run Code Online (Sandbox Code Playgroud)

转换后的数组将如下所示:

Array 
( 
        [0] => Array ( 
                      [authorFirst] => Mark 
                      [authorLast] => Twain
                      [title] => Innocents Abroad
                     )
        [1] => Array (
                      [authorFirst] => Charles 
                      [authorLast] => Dickens
                      [title] => Oliver Twist
                     )
)
Run Code Online (Sandbox Code Playgroud)

php xml zend-framework

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

重定向到Spring MVC中的外部URL

在Spring Controller Action中,我使用以下语句重定向到外部URL:

String redirectUrl = "www.yahoo.com";
return "redirect:" + redirectUrl;
Run Code Online (Sandbox Code Playgroud)

但是,它似乎是在本地重定向URL而不是用www.yahoo.com替换整个地址栏URL.

例如:通过上面的重定向,我的地址栏现在看起来像:

http://localhost/myApp/auth/www.yahoo.com
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?我甚至尝试重定向到视图,然后让视图重定向URL,但结果仍然相同.它似乎工作的唯一方式是,如果我有http://www.yahoo.comhttps://www.yahoo.com但我希望它按指定重定向URL,不一定提到协议.例如:如果直接进入地址栏,yahoo.com与http://www.yahoo.com类似.

谢谢

java spring jsp spring-mvc

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

Zend Framework 2 - 从Controller返回JSON

我有以下Json字符串:

var jsonString = '{"Users":[{"Name":"abc","Value":"test"},{"Name":"def","Value":"test"}]}';
Run Code Online (Sandbox Code Playgroud)

我试图在控制器中使用ZF2的JsonModel类(Zend\View\Model\JsonModel)来使用上面的JSON字符串呈现我的视图.但是,它似乎只采用数组而不是JSON字符串.

如何让控制器返回JSON字符串?

谢谢

php json zend-framework2

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

Angular 7 - 在 For 循环中展开或折叠 Div

我在 For 循环中有多个卡片。在每张卡片中,我想使用链接或按钮显示和隐藏卡片内的内容。我没有唯一的 ID 来分配我想要切换的每个 div。有没有办法做到这一点?

以下代码仅展开或折叠第一张卡片中的内容,即使在任何卡片中单击任何“展开”或“折叠”按钮也是如此。

<div *ngFor="let result of results">
    <div class="clr-col-lg-12 clr-col-12">
        <div class="card">
            <div class="card-block">
                <div *ngIf="result?.name">
                    <h3 class="card-title">{{result.name}}</h3>
                </div>

                <div class="expandCollapse">
                    <button (click)="toggle($event)">
                        {{buttonName}}
                    </button>
                </div>
                <div class="expandCollapseContent" *ngIf="showRuleContent">
                    <div *ngIf="result?.cTag">
                        <h5>C Tag</h5>{{result.cTag}}
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

成分

public showRuleContent:boolean = false;
public buttonName:any = 'Expand';

toggle($event) {
  this.showRuleContent = !this.showRuleContent;

  // CHANGE THE NAME OF THE BUTTON.
  if(this.showRuleContent)  
    this.buttonName = "Collapse";
  else
    this.buttonName = "Expand";
}
Run Code Online (Sandbox Code Playgroud)

angular

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

在 Angular 中获取复选框名称、值和选中状态

我有以下 4 个动态生成的复选框。在角度组件中,我想检索复选框的“名称”、“值”和“状态”。

HTML:

<input type="checkbox" 
       name="automotive" 
       value="car" 
       ngModel 
       (ngModelChange)="filterResults(obj, $event)">

<input type="checkbox" 
       name="automotive" 
       value="truck" 
       ngModel 
       (ngModelChange)="filterResults(obj, $event)">

<input type="checkbox" 
       name="apparel" 
       value="shirts" 
       ngModel 
       (ngModelChange)="filterResults(obj, $event)">

<input type="checkbox" 
       name="apparel" 
       value="pants" 
       ngModel 
       (ngModelChange)="filterResults(obj, $event)">
Run Code Online (Sandbox Code Playgroud)

成分:

filterResults(obj: any, isChecked: boolean){
  console.log(obj);
  console.log(isChecked); // {}, true || false
} 
Run Code Online (Sandbox Code Playgroud)

我能够获取复选框的状态,但无法获取名称和值。打印到控制台后,obj未定义。我想根据复选框的名称和值将过滤器应用于数据集。

如何获取选中复选框的名称和值,以便我可以做到这一点?

angular

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

PHP - Checkbox组

我在一个表单中有一个复选框组,我需要发布.

<input type="checkbox" value="true" checked name="chk0[]">
<input type="checkbox" value="false" name="chk0[]">
<input type="checkbox" value="false" name="chk0[]">
<input type="checkbox" value="true" checked name="chk0[]">

<input type="checkbox" value="true" checked name="chk1[]">
<input type="checkbox" value="false" name="chk1[]">
<input type="checkbox" value="true" checked name="chk1[]">
<input type="checkbox" value="false" name="chk1[]">
Run Code Online (Sandbox Code Playgroud)

请注意,在第一组中,检查1和4.在第二组中,检查1和3.当我发布这个时,我按顺序获取已选中复选框的已发布值:

[chk0] => Array ( 
          [0] => true 
          [1] => true 
        ) 
[chk1] => Array ( 
          [0] => true 
          [1] => true 
        ) 
Run Code Online (Sandbox Code Playgroud)

我怎样才能确保获得这样的发布值:

[chk0] => Array ( 
          [0] => true 
          [3] => true 
        ) 
[chk1] => Array ( 
          [0] => true 
          [2] …
Run Code Online (Sandbox Code Playgroud)

php forms

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

将MySQL的CURRENT_TIMESTAMP传递给Zend_DB更新语句

使用Zend_DB的更新语句时,如何传递mysql的CURRENT_TIMESTAMP?以下似乎不起作用.

我有这样的事情:

            $update = array(
                'Name'        =>  'John',
                'DT_Modified'   =>  'CURRENT_TIMESTAMP'
            );

            $db->update('usertable', $update );
Run Code Online (Sandbox Code Playgroud)

运行如下所示的查询:

UPDATE usertable SET Name='John', DT_Modified = CURRENT_TIMESTAMP

php zend-framework zend-db

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

在 Chosen Select 中恢复预选值

在所附的小提琴中,当所选的选择加载时,我有两个预填充的选项“丹麦”和“法国”。如果我在选择框中选择更多值并单击清除按钮,我想使用相同的预填充值“丹麦”和“法国”恢复所选的选择。

我想更改此代码以预填充选定的值。

$("#Clear").click(function () {
    $('.chosen-select option').prop('selected', false).trigger('chosen:updated');
});
Run Code Online (Sandbox Code Playgroud)

JSFiddle

更新:如果有一种方法可以使预先填充哪些选项无关紧要,但应该恢复它们(如果有),那将是非常好的。

jquery jquery-chosen

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