小编Bac*_*ash的帖子

如何检查请求是否是PHP的AJAX请求

如果对我的php页面的请求是ajax请求,我想检查服务器端.

我看到了两种方法:

第一种方式:GET在请求中发送一个参数,告诉页面这是一个AJAX请求(= mypage.php?ajax)

mypage.php:

if(isset($_GET['ajax'])) {
    //this is an ajax request, process data here.
}
Run Code Online (Sandbox Code Playgroud)

第二种方式:设置标题为xmlHttpRequest:

客户端js:

xmlHttpRequestObject.open(“GET”,url,true);
xmlHttpRequestObject.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
Run Code Online (Sandbox Code Playgroud)

mypage.php:

if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest' ) {
    //request is ajax
}
Run Code Online (Sandbox Code Playgroud)

事实是,这两种方式很容易被黑客攻击,因此检查我是否收到这样的AJAX请求是不安全的.

如何检查我是否收到了AJAX请求?

php ajax xmlhttprequest

49
推荐指数
6
解决办法
10万
查看次数

Apache无法启动 - ServerRoot必须是有效的目录,并且无法找到指定的模块

我正在使用xampp便携式服务器而我在Apache http服务器上遇到了一些问题,它说"ServerRoot必须是一个有效的目录"

命令行输出:

Please close this command only for Shutdown
Apache 2 is starting ...
httpd.exe: Syntax error on line 35 of K:/../../../xampp/apache/conf/httpd.conf: ServerRoot must be a valid directory

Apache could not be started
Run Code Online (Sandbox Code Playgroud)

我检查了xampp/apache/conf/httpd.conf的第35行,它是:

ServerRoot "/xampp/apache"
Run Code Online (Sandbox Code Playgroud)

哪个不存在.我的文件夹是:

K:/../../../xampp/apache/conf     <- where the httpd.conf is
K:/../../../xampp/apache/         <- the server root
K:/../../../xampp/apache/modules  <- where server modules are
Run Code Online (Sandbox Code Playgroud)

如果我改变(在第35行)

ServerRoot ".."
Run Code Online (Sandbox Code Playgroud)

它说:

Please close this command only for Shutdown
Apache 2 is starting ...
httpd.exe: Syntax error on line 65 of K:/../../../xampp/apache/conf/httpd.conf: Cannot …
Run Code Online (Sandbox Code Playgroud)

apache httpd.conf

31
推荐指数
2
解决办法
12万
查看次数

为什么我们不能使用'=='来比较两个浮点数或双数

我正在阅读Joshua Bloch的有效java和第8项:当覆盖等于时遵守一般合同,这个陈述是写的

对于float字段,使用Float.compare方法; 对于双字段,请使用Double.compare.浮法和双场的特殊处理是由Float.NaN,-0.0f和类似的双常数的存在所必需的;

有人可以解释我为什么我们不能==用于浮动或双重比较

java floating-point double equals

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

#1139 - 从regexp获得错误'重复 - 操作数操作数无效'

我在使用正则表达式从MySQL表中选择一些结果时遇到了麻烦.

我正在使用此查询

SELECT text 
FROM `articles` 
WHERE content REGEXP '.*<img.*?src=\"http://www' 
ORDER BY date DESC
Run Code Online (Sandbox Code Playgroud)

它说

#1139 - Got error 'repetition-operator operand invalid' from regexp
Run Code Online (Sandbox Code Playgroud)

我使用Notepad ++测试了正则表达式并且它有效,为什么MySQL给我这个错误,我该如何解决它?

regex mysql select

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

如何从ArrayList中删除空白项目.不要删除索引

public class ArrayListTest {

    public static void main(String[] args) {
        ArrayList al=new ArrayList();
        al.add("");
        al.add("name");
        al.add("");
        al.add("");
        al.add(4, "asd");
        System.out.println(al);
    }
}
Run Code Online (Sandbox Code Playgroud)

o/p [,name ,,, asd]欲O/p [name,asd]

java arraylist

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

如何从JFrame添加图片,附加到边框

嗨,我想在我的JFrame边框添加一些图像.这是否可以将图片附加到JFrame的边框并将其创建为1个对象?

像这样的东西:

在此输入图像描述

java jframe

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

使用PDFBox在PDF上绘制矢量图像

我想用Apache PDFBox在PDF上绘制矢量图像.

这是我用来绘制常规图像的代码

PDPage page = (PDPage) document.getDocumentCatalog().getAllPages().get(1);
PDPageContentStream contentStream = new PDPageContentStream(document, page, true, true);

BufferedImage _prevImage = ImageIO.read(new FileInputStream("path/to/image.png"));
PDPixelMap prevImage = new PDPixelMap(document, _prevImage);
contentStream.drawXObject(prevImage, prevX, prevY, imageWidth, imageHeight);
Run Code Online (Sandbox Code Playgroud)

如果我使用svgwmf图像而不是png,则生成的PDF文档会损坏.

我希望图像成为矢量图像的主要原因是使用PNG或JPG图像看起来很糟糕,我认为它会以某种方式压缩,因此看起来很糟糕.使用矢量图像时,这不应该发生(好吧,当我在Inkscape中将svg路径导出为PDF时,它不会发生,矢量路径会被保留).

有没有办法使用Apache PDFBox将svg或wmf(或其他向量)绘制成PDF?

我现在正在使用PDFBox 1.8,如果这很重要.

java pdf image vector pdfbox

9
推荐指数
2
解决办法
4087
查看次数

InnerHTML附加而不是替换

我正在使用此代码来更新div带有AJAX请求的代码

var xmlhttp;
if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp = new XMLHttpRequest();
} else { // code for IE6, IE5
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function () {
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
        document.getElementById("some_id").innerHTML += xmlhttp.responseText;
    }
}
xmlhttp.open("GET", "http://example.com/");
xmlhttp.setRequestHeader('Content-Type', 'utf8');
xmlhttp.send();
Run Code Online (Sandbox Code Playgroud)

一切正常,问题是当divwith id中some_id有很多内容时,我可以看到内容消失,然后在AJAX请求执行后出现更新.

我认为这是因为

document.getElementById("some_id").innerHTML += xmlhttp.responseText;
Run Code Online (Sandbox Code Playgroud)

被删除和更换innerHTMLdiv与前innerHTML加上新的内容,从而导致previous content ? blank ? updated …

html javascript

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

javax.validation:以字节为单位验证字符串长度的约束

javax.validation用来验证一些bean字段的值.

这是我通常使用的:

public class Market {

    @NotNull
    @Size(max=4)
    private String marketCode;

    @Digits(integer=4, fraction=0)
    private Integer stalls;

    // getters/setters
}
Run Code Online (Sandbox Code Playgroud)

这将确保每个Market实例都具有最大4字符长度的市场代码和最多4个整数位和0个十进制数的停顿数.

现在,我使用这个bean从/向DB加载/存储数据.

在DB我有这样Markets定义的表:

CREATE TABLE MARKETS (
    MARKET_CODE VARCHAR2(4 BYTE) NOT NULL,
    STALLS NUMBER(4,0)
)
Run Code Online (Sandbox Code Playgroud)

如您所见,我的最长MARKET_CODE可达4 个字节.该@Size注释将检查字符串最多为4 个字符长,这是错误的.

所以,问题是:是否有一个注释@Size,将检查字符串字节而不是字符?

java string validation byte constraints

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

填充内部扩展

我需要使用 Flutter 创建一个全屏表格。由于我无法使用Table/DataTable我正在尝试使用Flex/ Expanded

Everithing 按预期工作,但我不能设置样式Expanded's child,因此例如我似乎无法设置填充。

到目前为止,这是我的代码。

main.dart

import 'package:flutter/material.dart';

void main() => runApp(new MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      title: 'Flutter Demo',
      home: Calendar2(),
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

calendar2.dart

import 'package:flutter/material.dart';

class Calendar2 extends StatefulWidget {
  @override
  State<StatefulWidget> createState() => _Calendar2State();

}

class _Calendar2State extends State<Calendar2> {

  @override
  Widget build(BuildContext context) {
    List<CalendarRow> tableRows = buildTable();
    print(tableRows);

    return Scaffold( …
Run Code Online (Sandbox Code Playgroud)

android padding flutter

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