小编Chr*_*ian的帖子

使用git(对于私人回购网站代码)?

这可能是关于惯例,最佳做法和/或个人偏好的问题:

所以我是一个git noob,我的网站代码不值得分享,所以我不使用github等.

知道git不需要中央存储库我想:很棒,我的工作站和服务器是两个节点,我只是将更改从我的工作站推送到服务器.

当我开始时,代码只在服务器上,所以我:

  1. 在服务器上: git init
  2. 在工作站上: git clone me@myserver:path/to/repo
  3. 在当地做出改变和承诺
  4. 在工作站上: git push me@myserver:path/to/repo

我得到了奇怪的结果.我在本地添加的文件出现在服务器上,但未反映对现有文件的更改.

然后我读了一个警告,不要推送到已检出的远程分支.所以新的设置是:

  1. 跑来git clone --bare制作一个裸库
  2. 将裸存储库放在我的服务器上(~/repos/mysite.git- 不是公用文件夹)
  3. 代码本地和: git push me@myserver:repos/mysite.git
  4. 在服务器上:git pull ~/repos/mysite.git获取最新信息

这是正确的?这合乎逻辑吗?这是你会做的吗?

git git-push

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

Paypal沙盒IPN返回INVALID

我正在尝试使用servlet进行IPN回调.我正在使用的代码由paypal提供,用于验证ipn数据.但每次我收到INVALID回复.

这是代码:

Enumeration en = req.getParameterNames();
String str = "cmd=_notify-validate";

    while (en.hasMoreElements()) {        
        String paramName = (String) en.nextElement();
        String paramValue = req.getParameter(paramName);

//str = str + "&" + paramName + "=" + URLEncoder.encode(paramValue,"UTF-8"); // for UTF-8 i set the encode format in my account as UTF-8
//str = str + "&" + paramName + "=" + URLEncoder.encode(paramValue,"ISO-8859-1");// for ISO-8859-1 i set the encode format in my account as ISO-8859-1
str = str + "&" + paramName + "=" …
Run Code Online (Sandbox Code Playgroud)

paypal sandbox paypal-sandbox

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

使用PHP CURL中的FTP

我无法弄清楚如何使用CURL的FTP,特别是如何从我的PHP代码发出FTP命令:

<?php
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'ftp://ftp.microsoft.com/');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    curl_setopt($ch,CURLOPT_POSTQUOTE,array('CWD bussys/','LIST')); /* ?!! */

    echo '<hr><pre>'.htmlspecialchars(curl_exec($ch)).'</pre><hr>';
?>
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,我想得到一个bussys的目录列表,但我得到一个主要(FTP根目录)列表.

顺便说一句,我尝试了以下组合:

  • LIST bussys/
  • CWD bussys, LIST -a

php ftp curl

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

正则表达式匹配"{number}"

我需要将"{Z}"替换为"test(Z)",其中Z始终是使用PHP和正则表达式的无符号整数(除非有更快的方法?).

$code='{45} == {2}->val() - {5}->val()';
// apply regex to $code
echo $code;
// writes: test(45) == test(2)->val() - test(5)->val()
Run Code Online (Sandbox Code Playgroud)

棘手的部分是它需要尽可能以速度和内存使用的最佳方式完成.

php regex performance

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

Joomla获得插件ID

我写了一个Joomla插件,最终会加载一个库.

库的路径是一个插件参数,因此当路径不正确时,后端会弹出一条消息,以及编辑插件参数的链接:

/administrator/index.php?option=com_plugins&view=plugin&client=site&task=edit&cid[]=36

看到最后的36?这是我的插件在数据库中的id(表jos_plugins).

我的问题是这个id在安装时会发生变化,也就是说,在不同的安装上,这将是另一回事.所以我需要以编程方式找到这个id.

问题是我无法从插件对象本身找到这个id(至于为什么不能,这将是joomla可以说是短视的设计决策).

因此,除非你知道一些巧妙的技巧,(我已经检查并仔细检查了JPlugin和JPluginHelper类),否则我将使用数据库.

编辑; 一些有用的链接:

猜猜我会用最后一个链接的智慧......

php joomla plugins

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

PHP客户端PIN安全性

我目前正在开发一种系统,其功能是客户可以通过提供PIN"号码"查看其购买/续订/等的详细信息.

由于我们定位的客户类型,正在使用PIN而不是登录信息.PIN将打印在发送给他们的文档上.

提供PIN时显示的视图不会显示高度敏感的信息,如信用卡等,但不太敏感,如产品名称,类型,价格,条形码,维修等.

有问题的是PIN.我选择使用随机5个字符的PIN码(0-9,az AZ) - 区分大小写.我将删除一些同形字符('我','1','l','0','O','rn','vv'),所以组合的实际数量实际上更低.

我有几个问题:

  1. 这种做法可以接受吗?
  2. 我应该编写一个锁定机制,以便在尝试大量失败的情况下"禁止"来自IP的流量吗?*
  3. 我应该写一个错误检查系统(类似于信用卡号码中的Luhn算法)吗?
  4. *我应该使用验证码系统吗?

php captcha lockout luhn

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

从虚拟/自定义"Web服务器"调用PHP

基本上,我试图弄清楚如何从"Web服务器"调用PHP.

我已经阅读了文档,但它没有多大帮助.

据我所知,有三种方法可以调用PHP:

  • 通过命令行(例如:php -f "/path/to/script.php")
  • 通过CGI(??)/通过FastCGI(???)
  • 通过Web服务器(例如:Apache)模块

那么让我们从CGI开始吧.也许我只是盲目,但规范没有提到地球上的Web服务器如何将数据(标题和回调)传递给实现CGI的东西.FastCGI的情况更糟.

接下来,我们有特定于服务器的模块,我甚至不知道要搜索什么,因为所有的线索都无处可去.

php webserver cgi fastcgi mod-php

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

标记 .htaccess 文件

打赌你没有看到这个?;)

因此,我的一个项目要求我专门阅读并理解.htaccess 文件

可悲的是,在谷歌上搜索只会让试图让自己.htaccess工作的人陷入无限的困境(对不起,无法抗拒评论)。

不管怎样,我有点害怕试图从使用它的开源项目中得到这个东西。看,在过去的几周里,我最终浪费了很多时间试图用这个策略解决我的问题,结果却发现我在阅读 RFC 和规范并按照我的方式构建东西时做得更好。

所以,如果你知道一个库,或任何(希望干净!)执行此操作的代码,请分享。同时,如果您了解有关 .htaccess 文件格式的任何文章,我相信它们会非常方便。谢谢。

注意:我几乎是多语言的,可以使用任何代码库,即使最终代码是 Delphi。我知道我的要求太多了,但我希望少看 C++。在分享 C++ 代码之前,请考虑一下我的心理健康状况。:)

编辑:嗯,我想我只是要自己手动执行此操作。文件结构似乎是:

directive arg1 arg2 argN
<begin directive section>
</end directive section>
# single line comment
Run Code Online (Sandbox Code Playgroud)

.htaccess parsing tokenize

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

为自动完成方案表示语言标记的最佳方法

正如你们中的一些人所知,我正在开发自己的IDE.你可能会想"哦,不,另一个?!" - 别担心,没有人强迫你使用它,我怀疑它会被认真发表.

所以,从主要问题开始.我正在尝试实现自动完成系统.确切的UI不是问题.但是,以灵活的方式存储语言/库令牌是我的主要问题.

假设我们向用户建议CSS选择器或属性.我们有类似的东西:

- css/core
  - a                      // anchor tag
  - etc                    // all valid html tags
  - .stuff                 // class name parsed from user project
  - ?etc                   // more stuff parsed from user project (ids, classes...)
- css/properties
  - border                 // regular css properties - we also need to associate
                           // <border-style> and <color> value tokens
  - etc                    // the rest of them
- css/values/border-style  // property value tokens
  - solid
  - dotted
- css/values/color
  - …
Run Code Online (Sandbox Code Playgroud)

language-agnostic autocomplete token

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

处理 winform 文本框上的箭头键事件而不覆盖

我遇到一种情况,我获得了一个 WinForms TextBox 实例,我想将自动完成功能附加到该实例。

我已经解决了自动完成(字符串匹配+下拉)的问题,并且到目前为止它工作可靠。

使用键盘导航下拉菜单的能力是什么(这是此类 UI 的标准)。

自然的解决方案是处理文本框的 KeyDown (或类似的)事件,并相应地移动下拉列表中的选择。

然而,要做到这一点,您需要重写该IsInputKey()事件以允许捕获箭头键事件。另一种方法是重写ProcessCmdKey()并处理那里的事件。这两个的问题是我无法覆盖任何内容,因为我无法替换文本框实例。

编辑:假设我有以下代码:

void _textBox_KeyDown(object sender, KeyEventArgs e)
{
    if (_dropdown.Visible)
    {
        // TODO The stuff below fails because we need to either handle ProcessCmdKey or override IsInputKey
        switch (e.KeyCode)
        {
            case Keys.Tab:
                {
                    // click selected item
                    _dropdown.Items[GetSelectedItemIndex()].PerformClick();
                    break;
                }
            case Keys.Down:
                {
                    // select next (or first) item
                    int i = GetSelectedItemIndex() + 1;
                    if (i >= _dropdown.Items.Count) i = 0;
                    _dropdown.Items[i].Select();
                    break; …
Run Code Online (Sandbox Code Playgroud)

c# textbox keyevent winforms

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