小编Lev*_*ith的帖子

重载本机PHP函数以加密HIPAA合规性数据

背景资料:

我是运行Web应用程序的开发人员团队的一员,该应用程序存储和检索HIPAA(医疗)数据.最近,更新了HIPAA指南以包括一项策略,该策略要求所有识别客户信息在"静止"(存储在数据库中且未被访问)时加密.

最初的问题

我们必须解决的第一个问题是确定以双向加密数据的最佳方式,以便在发生破坏时使数据安全.

最初的解决方案

我们提出的最快的解决方案是在将数据插入数据库之前使用mcrypt加密数据.

新问题

我们正在开发的应用程序已经很老了(就像Web应用程序一样)并且使用了大量的过程编程以及严重依赖mysql_query函数来插入,更新,检索和删除数据.我们没有时间或奢侈地将我们的代码翻译成数据库抽象层.因此,实现此加密/解密系统的唯一方法是手动编辑所有CRUD查询以使用通过mcrypt加密的数据.这是非常低效且极易出错的.

我们提出的解决方案

我们认为解决问题的最快最有效的方法是用我们自己设计的方法覆盖本机mysql_query函数.在我们的新函数中,我们将在将查询发送到服务器/返回结果集之前加密/解密数据值.

你在哪里进来

  1. 这是解决我们最初问题的最佳解决方案吗?
  2. 你如何覆盖现有的核心PHP函数?

php mysql overloading mcrypt hipaa

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

Rails 3 Form Helpers:UTF8和其他隐藏字段

风景:

<%= form_for :blog_post do |f| %>
  <ul>
    <li>
      <%=  f.label :title %>
      <%= f.text_field :title, :type => 'text', :id => 'title', :size => '', :limit => '255' %>
    </li>

  </ul>
<% end %>

<!DOCTYPE html> 
    <html> 
    <head> 
      <title>LevihackwithCom</title> 
      <script src="/javascripts/prototype.js?1285902540" type="text/javascript"></script> 
      <script src="/javascripts/effects.js?1285902540" type="text/javascript"></script> 
      <script src="/javascripts/dragdrop.js?1285902540" type="text/javascript"></script> 
      <script src="/javascripts/controls.js?1285902540" type="text/javascript"></script> 
      <script src="/javascripts/rails.js?1285902540" type="text/javascript"></script> 
      <script src="/javascripts/application.js?1285902540" type="text/javascript"></script> 
      <meta name="csrf-param" content="authenticity_token"/> 
      <meta name="csrf-token" content="UnhGSHHanJHfgJYhnksqJ1bfq3W+QEU2GJqLAMs2DmI="/> 
    </head>

    <body> 

    <form accept-charset="UTF-8" action="/blog_post/new" method="post">
      <div style="margin:0;padding:0;display:inline">
        <input name="utf8" type="hidden" value="&#x2713;" />
        <input name="authenticity_token" type="hidden" value="UnhGSHHanJHfgJYhnksqJ1bfq3W+QEU2GJqLAMs2DmI=" …
Run Code Online (Sandbox Code Playgroud)

forms views ruby-on-rails

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

是否可以以编程方式触发拖动事件?

我目前正在使用库Draggabilly向我的应用程序添加拖放功能。我想要做的是drop在 CKEditor 的实例上触发事件(HTML5 原生事件),然后执行任务。这是我到目前为止想出来的:

  1. CKEditor 只会侦听原生 HTML5 事件,例如dragoverdrop
  2. Dragabilly 不会触发本机dragdrop事件。相反,它使用mousedownmouseup

我的问题是,有没有办法使用dispatchEvent或一些类似的方法来模拟dragstart,dragdrop事件?

如果除了我提到的这个问题之外还有更好的解决方案,请告诉我。

谢谢。

html javascript drag-and-drop

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

Scrum术语:新功能和增强功能之间的区别是什么?

我想要回答的主要问题是:在软件开发方面,"新功能"和"产品增强"之间的区别特征是什么?具体来说,当应用于Scrum时.

以下是一些可能出现的标准:

  1. 请求的复杂性(点)
  2. 最终结果与应用程序的其他部分的独立性如何(例如,添加一个字段以形成vs添加一个全新的表单)

另一种可能性是,我正在考虑这一切都是错误的,应该使用更好,更清晰的术语.

agile scrum

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

重新思考用户登录过程:用户/显示名称和OpenID

使用openID提出了一些我希望SO社区可以帮助我回答的问题.

OpenID和(现已过时)用户名

根据我的阅读,openID的主要目标之一是消除某人为某些网站创建另一个用户名和密码的需要,这些网站只能使用一次.虽然我认为这是一个非常棒的想法,但它确实引起了一点混淆:

用户名不仅用作身份验证设备(登录凭据),还用作将用户标识为网站上的创建内容(评论,帖子帖子等)的方法.

我的担忧

  1. 当他们浏览网站时,我用什么来识别网站上的某个人?注册我的网站时,我是否还要求他们选择用户名?
  2. 我注意到像SO这样的网站,使用了"显示名称"而不是用户名.这是一个可由用户更改的字段.
    • 当用户决定更改其显示名称时,您如何避免混淆?

限制谁可以登录到您的站点即使他们有一个有效的OpenID

想象一下以下场景:

  • 您有一个网站,您只希望您和三个朋友能够访问.
  • 在传统的用户身份验证设置中,您可以手动为三个朋友创建帐户,然后通过电子邮件向他们发送登录凭据.但是,在这种情况下,您希望它们使用openID.

我的问题

  1. 如何将openID身份验证限制为一个非常特定的人员子集?
  2. 如何使用OpenID为尚未对您的网站进行身份验证的人设置帐户?

再次感谢,SO社区为您的时间和帮助.你们真棒.

openid authentication database-design

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

ExtJS 3.3 Format.Util.Ext.util.Format.dateRenderer返回NaN

商店

var timesheet = new Ext.data.JsonStore(
    {
        root: 'timesheetEntries',
        url: 'php/scripts/timecardEntry.script.php',
        storeId: 'timesheet',
        autoLoad: true,
        fields: [
            { name: 'id', type: 'integer' },
            { name: 'user_id', type: 'integer' },
            { name: 'ticket_number', type: 'integer' },
            { name: 'description', type: 'string' },
            { name: 'start_time', type: 'string' },
            { name: 'stop_time', type: 'string' },
            { name: 'client_id', type: 'integer' },
            { name: 'is_billable', type: 'integer' }
        ]
    }
);
Run Code Online (Sandbox Code Playgroud)

我的GridPanel代码的一部分:

columns: [
    {
        id: 'ticket_number',
        header: 'Ticket #',
        dataIndex: 'ticket_number'
    }, …
Run Code Online (Sandbox Code Playgroud)

javascript extjs

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

在处理大型DOM元素时加速jQuery empty()或replaceWith()函数

让我先为没有给出代码片段而道歉.我正在研究的项目是专有的,我担心我无法准确展示我正在做什么.但是,我会尽力描述.

以下是我的应用程序中发生的情况的细分:

  1. 用户单击一个按钮
  2. 服务器以数据表的形式检索图像列表
  3. 表中的每一行包含8个数据单元,每个数据单元又包含一个超链接
    • 用户的每个请求最多可包含50行(如果需要,我可以更改此数字)
    • 这意味着该表包含超过800个单独的DOM元素
    • 我的分析表明,jQuery("#dataTable").empty()jQuery("#dataTable).replaceWith(tableCloneObject)占用我的整个处理时间97%,并且平均需要4 - 6秒完成.

在寻找需要删除/替换的大量DOM元素时,我正在寻找一种加速上述jQuery函数的方法.我希望我的解释有所帮助.

javascript performance jquery dom

7
推荐指数
1
解决办法
6127
查看次数

OpenID发现方法 - Yadis VS HTML

最近,我开始编写自己的PHP OpenID消费者类,以便更好地理解openID.作为指南,我一直在引用[LightOpenID Class] [1].在大多数情况下,我理解代码以及OpenID的工作原理.在查看作者的discover功能时,我感到困惑:

function discover($url)
{
    if(!$url) throw new ErrorException('No identity supplied.');
    # We save the original url in case of Yadis discovery failure.
    # It can happen when we'll be lead to an XRDS document
    # which does not have any OpenID2 services.
    $originalUrl = $url;

    # A flag to disable yadis discovery in case of failure in headers.
    $yadis = true;

    # We'll jump a maximum of 5 times, to avoid endless redirections.
    for($i = …
Run Code Online (Sandbox Code Playgroud)

php openid lightopenid

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

使用TDD创建报告

我目前正在尝试使用PHPUnit来了解测试驱动开发(TDD),我对使用TDD编写报告有疑问.

首先:我了解TDD的基本过程:

TDD流程图

但我的问题是:你如何使用TDD撰写报告?

假设您的任务是根据颜色,类型和重量编写一份关于给定交叉路口的汽车数量的报告.现在,所有上述数据都已在数据库表中捕获,但您被要求关联它.

你如何为一种你不知道结果的方法编写测试?关联此数据的方法的结果将根据日期范围和用户在运行报告时可能提供的其他限制条件进行更改?在这种情况下,如何使用像PHPUnit这样的框架在TDD的范围内工作?

php tdd phpunit unit-testing

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

如何编写一个将项附加到DOM并延迟下一个Tick的函数?

我最近在网上发现了以下问题:

编写一个函数,该函数接受一个对象并将其附加到DOM,使得事件被缓冲直到下一个滴答?解释为什么这有用?

以下是我的回复:

function appendElement(element) {
    setTimeout(function() {
        document.body.appendChild(element);
    }, 0);
}
Run Code Online (Sandbox Code Playgroud)

为什么我将间隔设置为零?

根据这篇文章,将超时设置为0,将事件延迟到下一个tick:

func的执行转到最近的计时器tick上的Event队列.请注意,这不是立即的.在下一个滴答之前不会执行任何操作.

这是我不确定的:

  • 我的解决方案是否正确
  • 我不能回答为什么这种方法是有益的

作为参考,我在这个网站上收到了8个JavaScript面试问题.

我还想指出,我正在为自己的研究和改进提出这个问题,而不是作为代码挑战,面试问题或家庭作业的一部分.

javascript performance

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