小编Bin*_*ing的帖子

PHP:如何阻止对文件的直接URL访问,但是仍然允许登录用户下载它?

我有一个网站,用户应该可以登录并听一首歌(一个自创的mp3).我想这样做,以便登录用户可以监听/下载/无论如何,该文件应驻留在服务器上(不存储在MySQL数据库中),但不能被具有该路径的非用户访问到URL.

例如:说我的mp3位于mysite.com/members/song.mp3如果您已登录,您应该能够看到mysite.com/members/index.php页面,该页面将允许访问该歌曲. mp3文件.如果您尚未登录,则mysite.com/members/index.php页面将不会显示song.mp3文件,并且直接链接到该文件不应授予访问权限.

我很确定这是通过htaccess完成的,我已经做了很多谷歌搜索,并在这里搜索.我找到的两个最接近的答案是这个htaccess指南http://perishablepress.com/press/2006/01/10/stupid-htaccess-tricks/和这个StackOverflow问题阻止通过http直接访问文件但允许php脚本访问但是既不回答我的所有问题也不符合我的标准.我错过了什么?

php .htaccess access-control hotlinking

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

Google时间轴图表:在"同一"行上多个时,单独为每个栏着色

Google时间线图表似乎建议根据文档在时间轴上对单个块进行着色:https: //google-developers.appspot.com/chart/interactive/docs/gallery/timeline#ControllingColors

但是当两个柱子在同一条线上"重叠"时似乎有一个问题,正如你在这个小提琴中看到的那样:http: //jsfiddle.net/7A88H/21/

这是关键代码:

dataTable.addRows([
[ 'red/green/blue', 'NAME OF BAR (should be RED) (ff0000)', new Date(1789, 3, 29), new Date(1797, 2, 3) ],
[ 'red/green/blue', 'NAME OF BAR (should be GREEN) (00ff00)', new Date(1796, 2, 3),  new Date(1801, 2, 3) ],
[ 'red/green/blue', 'NAME OF BAR (should be BLUE) (0000ff)',  new Date(1801, 2, 3),  new Date(1809, 2, 3) ]]);

var options = {
    colors: ['#ff0000', '#00ff00', '#0000ff'],
};
Run Code Online (Sandbox Code Playgroud)

我试着通过在我的数据行中添加第5列(颜色)来使用此问题的接受答案: Google Charts API:向时间轴添加空行?

具体来说,这是我认为我可以劫持建立我的黑客的功能:

(function(){                                            //anonymous …
Run Code Online (Sandbox Code Playgroud)

javascript css jquery

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

SFTP使用bash脚本发送文件

我正在使用密钥身份验证,因此密码不是问题.我有一个名字我知道的文件,我只是想通过sftp将它发送到另一台机器.

我试过搜索但无法在任何地方找到这个(看似简单的)问题.也许我的谷歌今天只是让我失望.

简而言之:我在我的本地机器上,想要将文件(test.txt)发送到远程机器.已提供授权密钥.基本上我想自动化这三个步骤:

sftp root@remote:/root/dropoff
put test.txt
quit
Run Code Online (Sandbox Code Playgroud)

是否有一个简单的bash命令可用于自动执行此操作?我见过的唯一选择是使用bash脚本执行put/quit并使用-b选项运行它.有没有比这更清洁的东西?(我对使用任何其他应用程序/工具不感兴趣.)

谢谢!

bash sftp file send

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

从Java中运行命令行操作

我构建了一个非常简单的程序来测试运行Java的命令行操作.那就是:后来我希望能够修改此代码,使用"move"到我可以进入命令行的任何其他命令(包括调用其他非Java软件).

我确实搜索并阅读了大约二十几个答案,但是他们都建议我正确地尝试这个,对我的简单测试是无关紧要的,或者提出其他不起作用的解决方案(比如使用.exec(String [])方法而不是.) exec(String) - 结果相同!).

这是我的代码:

import java.io.IOException;

public class RunCommand {

private static final String PATH_OUT = "C:\\Users\\me\\Desktop\\Temp\\out\\";
private static final String FILE = "sample.txt";
private static final String PATH_IN = "C:\\Users\\me\\Desktop\\Temp\\in\\";

public static void main(String[] args) {
    try {
        String command = "move "+PATH_IN+FILE+" "+PATH_OUT;
        System.out.println("Command: "+command);
        Runtime.getRuntime().exec(command);
    } catch (IOException e) {
        e.printStackTrace();
    }
}
}
Run Code Online (Sandbox Code Playgroud)

这是我运行时看到的输出:

Command: move C:\Users\myingling\Desktop\CDS\Temp\in\sample.txt C:\Users\myingling\Desktop\CDS\Temp\out\
java.io.IOException: Cannot run program "move": CreateProcess error=2, The system cannot find the file specified
at …
Run Code Online (Sandbox Code Playgroud)

java command-line

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

Chrome SuppressDifferentOriginSubframeJSDialogs 设置覆盖使用 JS?

Chrome 开发团队显然刚刚推出了一项名为 SuppressDifferentOriginSubframeJSDialogs 的新“功能”,这使得来自不同域上的 iFrame 的警报+确认框不会显示在默认情况下:https://www.chromestatus。 com/feature/5148698084376576

这意味着如果您有一个嵌入式表单,并且您依靠标准 JavaScript 警报来通知用户错误(或确认以确保他们想要进行更改),它现在什么都不做,完全破坏了用户体验。

显然,我们可以覆盖内置警报并使用自定义警报进行确认,但是现在远离浏览器内置的内容会为每个 UI(移动设备、平板电脑、笔记本电脑、台式机等)引入重新设计,而不仅仅是依赖经过验证的内置技术。

有没有办法更改此跨域设置,或将特定域列入白名单以覆盖此功能? 我们确实可以使用外部 JS 包含文件访问父站点(显然,否则这将是一个敞开的后门)。

javascript google-chrome cross-domain

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

PHP:有没有一种简单的方法可以将数字列表(如字符串,如"1-3,5,7-9")解析为数组?

我试着在这里和谷歌上搜索这个,所以如果我错过了一些明显的东西,我道歉.我可能根本不知道这些数字格式的名称.

我要做的是从一个字符串开始,比如"1-3,5,7-9",并将它变成一个PHP数组,其中包含以下条目:1,2,3,5,7,8 ,9

我知道如何通过在逗号上使用preg_split来实现这一点,然后迭代并扩展任何标记,但我觉得必须有一个更简单/更好的方法.

编辑

我没有说清楚,但字符串需要包括SPANS!这意味着如果我的字符串是"1-9",我得到的数组应该是"1,2,3,4,5,6,7,8,9"而不是"1,9".对不起之前不清楚.

php arrays methods numbers list

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

Google Charts API:向时间线添加空白行?

我正在尝试创建一个今天工作的人员列表,以及他们的开始和结束时间。这对于有记录的人来说没有问题,但我不知道如何让谷歌的时间线图表打印某人的名字,然后在图表上没有条目。

这是文档,但它没有说明空白条目:

https://google-developers.appspot.com/chart/interactive/docs/gallery/timeline#BarsOneRow

这是我的代码示例:

<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("visualization", "1", {packages:["timeline"]});
google.setOnLoadCallback(drawChart);

function drawChart() {
    var container = document.getElementById('timeline');
    var chart = new google.visualization.Timeline(container);
    var dataTable = new google.visualization.DataTable();

    dataTable.addColumn({ type: 'string', id: 'Employee' });
    dataTable.addColumn({ type: 'date', id: 'Start' });
    dataTable.addColumn({ type: 'date', id: 'End' });
    dataTable.addRows([
            [ 'Spiderman', new Date(2015, 04, 07, 04, 43, 49),  new Date(2015, 04, 07, 06, 45, 05), ],
            [ 'Iron Man',  new Date(2015, 04, 07, 04, 40, 53),  new Date(2015, 04, 07, …
Run Code Online (Sandbox Code Playgroud)

javascript charts google-api

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

PHP:如何从时区名称(例如:America/New_York)获取时区值(例如:东部标准时间)?

是否有 PHP 函数可以在时区名称(例如此处找到的名称: http: //php.net/manual/en/timezones.america.php)和“值”(例如东部标准时间或太平洋时间)之间进行转换夏令时?

不想在区域之间进行转换,只需获取给定 America/New_York(或其他)名称的 EST、PDT 等名称。我发现的唯一类似的问题是针对不同的语言。

php timezone datetime

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

Chrome 移动设备输入类型=文本缩放远离元素(并非试图阻止整体缩放)

我有一些 JavaScript 代码,可以将预订小部件注入客户的网站。直到最近,一切都运行良好,但我猜测一些针对移动设备的 Chrome 更新导致了一个问题:

注入的代码只是一行引用 JavaScript 文件的 HTML,如下所示:

<script src='https://crown.addons.la/leads/new/forms/resize/expander.php' config='3'></script>

问题是,当我点击“发件人地址”时,Android 上的 Chrome 浏览器会放大 10 倍并跳转到右侧。这不会影响三星浏览器、Firefox、Brave 或任何其他浏览器,我什至为某些人提供了一些示例,但这些浏览器并没有被破坏。

这是在给出领域焦点之前:

在此输入图像描述

这是我们给予它焦点的一次:

在此输入图像描述

我遇到的问题是,我无法在手机上打开开发人员工具来修复它,并且该问题不会在 Browserstack 上重现,也不会在桌面版 Chrome 的响应模式下重现。 有没有什么方法可以在不需要启动并运行整个 Android 模拟器的情况下进行调试?

放大效果损坏的客户示例:

注入代码的工作示例:

我不确定是否有更好的地方可以问这个问题。我知道这对我自己来说非常具体,但不知道该去哪里寻找。

html javascript android zooming

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

HTML 中阻止 Chrome 提示保存地址的方法?

我有一个像 Google AutoComplete 这样的简单表单,其中有一个输入,它会建议答案,然后在后台填写一个多部分表单并提交。问题是,当我提交该表单时,它每次都会询问我是否要保存地址。

有没有办法阻止 Chrome 出现此提示?我已经尝试过 autocomplete="off" 或 autocomplete="new-password" 或 autocomplete="do-not-autofill" (来自此处:https: //stackoverflow.com/a/30976223/713874),但没有运气。

这是网址:https: //bss.addons.la/trips/booking/triage/

这是我试图使用代码来防止发生的事情: 在此输入图像描述

html google-chrome

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